CN110109703A - 小型plc中实现带静态数据功能的子程序 - Google Patents

小型plc中实现带静态数据功能的子程序 Download PDF

Info

Publication number
CN110109703A
CN110109703A CN201910445064.5A CN201910445064A CN110109703A CN 110109703 A CN110109703 A CN 110109703A CN 201910445064 A CN201910445064 A CN 201910445064A CN 110109703 A CN110109703 A CN 110109703A
Authority
CN
China
Prior art keywords
data
plc
pointer
function
subprogram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910445064.5A
Other languages
English (en)
Inventor
王前厚
郭文辉
王伯轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yantai Wanquan Digital Technology Co Ltd
Original Assignee
Yantai Wanquan Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yantai Wanquan Digital Technology Co Ltd filed Critical Yantai Wanquan Digital Technology Co Ltd
Priority to CN201910445064.5A priority Critical patent/CN110109703A/zh
Publication of CN110109703A publication Critical patent/CN110109703A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种在小型PLC中实现静态数据功能的子程序的编程方法,利用PLC循环调用以及子程序无条件调用的特性,通过数据指针,给不同子程序的不同实例分配区域,实现了内部变量的存储功能。本发明为小型PLC做模块化标准化编程奠定了基础。

Description

小型PLC中实现带静态数据功能的子程序
技术领域
本发明涉及一种应用于小型PLC系统的编程技术, 特别是涉及西门子SIMATICS7-200 SMART的标准化模块化编程方法,属于计算机程序技术领域。
背景技术
现有的通用的技术方法,在S7-200 SMART之类的小型PLC中,如程序逻辑需要静态数据类型,要实现可重复被调用的子函数,只能通过添加INOUT变量接口的方法,除此之外没有见到有这方面的专利技术。使用INOUT借用外部变量的方法,程序使用过于繁琐,需要逐个分配变量地址,因而阻碍了小型PLC中模块化编程技术的发展。
发明内容
针对现有技术存在的不足,本发明的目的在于实现小型PLC能实现标准化模块化程序设计,编制的子程序可以重复使用,减少程序设计时复杂程度和工作量。
本发明解决了在小型PLC子函数中实现静态数据的功能。为小型PLC做模块化标准化编程奠定了基础。
技术方案:一种在小型PLC中实现静态变量的子函数的编程方法,在子函数逻辑的开始段和最后段,添加数据恢复以及保存的代码,静态数据存储在PLC寄存器区域中,每一次调用,位置自动累加,实现指针偏移。
如上所述的指针偏移,为了每个设备实例对应的偏移量固定不变,以达到对应的存储数据区地址恒定,需要在主程序的开始段有专门的对指针复位的处理。
如上所述的数据存储,其数据量为8个byte。
如上所述的数据存储,其数据量由每个函数的存储需求数量自由定义。
如上所述的存储在寄存器区域的数据,对位置无特殊要求,是随意存放的;如程序需要修改,比如设备增减引起的函数调用有增加或减少,数据位置改变后不需要特殊处理。
如上所述的数据偏移指针,其具体位置在函数输出中显示,用于程序调试时的数据诊断。
本发明的优点:
对函数中那些仅仅需要记忆功能,而外部程序不需要知晓的变量,可以简单分配存储区,简化了调用过程, 也节省了函数的外部接口。
本发明的方法,不仅对西门子S7-200 SMART小型PLC有效,而且可以适用于所有不支持静态变量的所有品牌的小型PLC,如果有特殊需要,也可以在中大型的PLC中实现。
附图说明
图1主程序开始调用了初始化模块,对地址指针进行了初始化。
图2 一个MOTOR模块被调用的实例。除了必要的输入输出接口,并不需要指定辅助类型的变量,输出的管脚对当前地址进行了监控。
图3 一个valve模块被调用的实例。除了必要的输入输出接口,并不需要指定辅助类型的变量,输出的管脚对当前地址进行了监控。
图4 一个定时器模块被调用的实例。
除了必要的输入输出接口,并不需要指定辅助类型的变量,因而也不需要指定编号,不同的实例调用过程是一样的。 输出的管脚对当前地址进行了监控。
具体实施方式
根据本发明提供的技术方法,完成了电机块的FB:L11-MOTOR 和阀门块的FB:L12-VALVE,以及初始化指针块L00-INI,示例中每个设备块均分配8个byte的存储区。
比如,一个项目中,有5个电机和5个阀门,它们的调用顺序是随机的,程序调用树如表1所示。
表1、一个在小型PLC中实现静态变量的子函数调用树示例。
首先在OB1的运行开始执行了初始化函数L00-INI,把位置指针复位到初始值10000,所以尽管OB1是无限循环运行的,但后面的每个设备分到的存储区地址是固定的,不会下个周期和上个周期的地址不同,表2示例了每个实例得到的分配地址。
表2、一个在小型PLC中实现静态变量的子函数寄存器地址分配表。
每个设备实例所得到的存储区地址如图2所示。这些地址在实例中起到了存储TEMP区域运行数据的作用,并在下次调用时用存储值刷新了TEMP区域的变量值。
因而实现了静态变量功能。
表3 另一个在小型PLC中实现嵌套调用静态变量的子函数的编程实施示例。
一个复杂逻辑块L31-MIXER, 自身分配双倍的数据区16个byte,而且其中还对另一个FB: L10-DI嵌套调用了2次,则在L31有3个实例的情况下,它们的数据区分配。同理这些地址分配都是固定的,不会错乱。 结果如表3所示。
以上所述只是本发明在S7-200 SMART PLC中实践实例,并不用以限制本发明。用其它型号、其它品牌的PLC所做的实现,改进等, 均应包含在本发明的保护范围之内。

Claims (6)

1.一种在小型PLC中实现静态变量的子函数的编程方法,其特征在于在子函数逻辑的开始段和最后段,添加数据恢复以及保存的代码,静态数据存储在PLC寄存器区域中,每一次调用,位置值自动累加,实现指针偏移。
2.根据权利要求1所述的指针偏移, 为了每个设备实例对应的偏移量固定不变,以达到对应的存储数据区地址恒定需要在主程序的开始段有专门的对指针复位的处理。
3.根据权利要求1所述的数据存储,其数据量为8个byte。
4.根据权利要求1所述的数据存储,其数据量由每个函数的存储需求自由定义。
5.根据权利要求1所述的存储在寄存器区域的数据,对位置无特殊要求,是随意存放的;如程序需要修改,比如设备增减引起的函数调用有增加或减少,数据位置改变后不需要特殊处理。
6.根据权利要求1所述的数据偏移指针,其具体位置在函数输出中显示,用于程序调试时的数据诊断。
CN201910445064.5A 2019-05-27 2019-05-27 小型plc中实现带静态数据功能的子程序 Pending CN110109703A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910445064.5A CN110109703A (zh) 2019-05-27 2019-05-27 小型plc中实现带静态数据功能的子程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910445064.5A CN110109703A (zh) 2019-05-27 2019-05-27 小型plc中实现带静态数据功能的子程序

Publications (1)

Publication Number Publication Date
CN110109703A true CN110109703A (zh) 2019-08-09

Family

ID=67492295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910445064.5A Pending CN110109703A (zh) 2019-05-27 2019-05-27 小型plc中实现带静态数据功能的子程序

Country Status (1)

Country Link
CN (1) CN110109703A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441566A (zh) * 2008-11-18 2009-05-27 腾讯科技(深圳)有限公司 一种嵌入式平台和在嵌入式平台上动态链接程序的方法
CN102339031A (zh) * 2010-07-27 2012-02-01 深圳市合信自动化技术有限公司 一种子程序调用的方法、装置及plc控制系统
CN103617060A (zh) * 2013-12-05 2014-03-05 积成电子股份有限公司 使用超级状态存储加快嵌入式软件启动过程的方法
CN104239115A (zh) * 2014-07-24 2014-12-24 汕头大学 一种plc编程语言的编译方法
CN104267999A (zh) * 2014-09-26 2015-01-07 浙江中控技术股份有限公司 一种对控制程序进行编译的方法和装置
CN105183665A (zh) * 2015-09-08 2015-12-23 福州瑞芯微电子股份有限公司 一种数据缓存访问方法和数据缓存控制器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441566A (zh) * 2008-11-18 2009-05-27 腾讯科技(深圳)有限公司 一种嵌入式平台和在嵌入式平台上动态链接程序的方法
CN102339031A (zh) * 2010-07-27 2012-02-01 深圳市合信自动化技术有限公司 一种子程序调用的方法、装置及plc控制系统
CN103617060A (zh) * 2013-12-05 2014-03-05 积成电子股份有限公司 使用超级状态存储加快嵌入式软件启动过程的方法
CN104239115A (zh) * 2014-07-24 2014-12-24 汕头大学 一种plc编程语言的编译方法
CN104267999A (zh) * 2014-09-26 2015-01-07 浙江中控技术股份有限公司 一种对控制程序进行编译的方法和装置
CN105183665A (zh) * 2015-09-08 2015-12-23 福州瑞芯微电子股份有限公司 一种数据缓存访问方法和数据缓存控制器

Similar Documents

Publication Publication Date Title
US3781810A (en) Scheme for saving and restoring register contents in a data processor
US20170220667A1 (en) Independent data processing environments within a big data cluster system
US3229260A (en) Multiprocessing computer system
US10967813B2 (en) Vehicle control device
US4366536A (en) Modular digital computer system for storing and selecting data processing procedures and data
CN107251001B (zh) 具有双模式中断的微控制器或微处理器
CN107832151A (zh) 一种cpu资源分配方法、装置及设备
CN115237599A (zh) 一种渲染任务处理方法和装置
CN109657317B (zh) 一种cpld管脚分配的方法、系统及设备
CN109446130A (zh) 一种i/o设备状态信息的获取方法及系统
CN110109703A (zh) 小型plc中实现带静态数据功能的子程序
CN109408035B (zh) 一种业务系统的流程配置方法、存储介质和服务器
CN108897532B (zh) 一种类工厂注册的方法、装置及电子设备
CN114493980B (zh) 内核函数传输方法、装置及设备
CN106484642B (zh) 一种具有运算能力的直接存储器访问控制器
US6493781B1 (en) Servicing of interrupts with stored and restored flags
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
US20220197647A1 (en) Near-memory determination of registers
CN112988639B (zh) 一种模块地址分配方法及装置、数据交互系统
CN111651124A (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
CN110874368A (zh) 一种基于Realm数据库的数据分页系统及方法
CN107589909B (zh) 数据处理方法和装置、电子设备
US20190205161A1 (en) Multicore or multiprocessor computer system for the execution of harmonic tasks
US20220283812A1 (en) System and method for shared register content information
US11593079B2 (en) System and method for responsive process security classification and optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190809