一、简述表明
工业自动化编程是面对机器设备的程序编写,一般许多技术工程师在程序编写情况下并没有程序流程构架的观念,对一些CPU的系统功能,一般都是要用的情况下才能临时性加上一个,例如下面的图程序流程,添加了现阶段程序流程循环时间及其特殊设施的基本资料。
伴随着工业生产
4.0智能化的社会,工业自动化程序编写面临越来越多信息的传递的作用,乃至还可以做一些边沿机器设备用以数据信息的传送,这对PLC编程而言,需用解决的消息便会愈来愈繁杂。但PLC并不像计算机软件,有许多敞开式的库能用,windows系统的电子万年历等基础功能,在PLC里都并不是广泛具有的,这就必须工业自动化软件程序员能拥有这类观念,在自身程序流程中建立自身必须的系统数据。比如在一个大中型系统软件中,MES必须每一个机器设备都向MES系统软件说明自身真实身份,将设备系统的PLC名字、IP、MAC地址等信息发送到MES系统软件。若PLC系统中没这种作用,则必须技术工程师每一个设施的PLC都需要程序编写,或是根据手动式方法填好并发给MES系统软件,那样高效率和编码品质都较为较差。由于数字化时代的到来,无论技术工程师具有不具备程序流程构架的观念,大家都能够在你的程序流程中创建对象一个载入CPU的系统信息的程序块。参考于计算机软件及其PLC系统软件自身的特性,载入CPU系统信息的功能块少能做到下列作用:
1.载入CPU的时钟系统并解决
2.载入现阶段CPU的日期信息内容
3.载入CPU的运转信息内容
4.载入CPU的模组信息内容
西门子PLC系列产品PLC的编程中,可以将类信息内容模块化设计,制成一个标准程序流程,其实现的具体内容和以上叙述同样,在PLC中建立了基本数据类型typeSystemInfo
用以分布式存储信息内容。PLC中创建一个全局性数据块SystemInfo,该数据块为源于基本数据类型typeSystemInfo的数据块,用以创建对象以上自定的基本数据类型。
二、程序块表明 程序块名字程序流程中完成以上作用的功能块为FB_SystemInfo
2.2输入接口
i_HwId:CPU环境变量,西门子PLC系列产品CPU的自变量一般为“当地PN插口”。
i_ManualReadInfo:当CPU的个周期时间载入CPU的设备信息有常见故障的前提下,能通过开启该自变量手动式载入CPU的设备信息。
i_SystemClockByte:CPU的系统时钟字节数,在CPU的设置中设定。
i_SystemClockEnable:初始值为TRUE,当以TRUE的情况下,载入CPU的系统软件时钟信号并解决。
以上2个系统时钟字节数的运用必须在CPU的体系和数字时钟储存器中开启数字时钟储存器字节数,请在数字时钟储存器字节数详细地址中填入M存储器的详细地址,一般默认设置为0;
因为西门子PLC系列产品PLC带来了以上的字节数,程序流程中也默认设置开启数字时钟字节数作用。但若在启用功能块的情况下,若键入管脚i_SystemClockByte为空的情况下,即便管脚i_SystemClockEnable为TRUE,程序流程也不会应用系统时钟,反而是应用管脚i_ClockEnable配备的频次形成数字时钟自变量。
i_ClockEnable:基本数据类型为32个浮点型二维数组,可以设置多32个Hz工作频率。根据西门子PLCCPU的系统时钟带来了8个系统时钟,该键入也设置了默认设置的8个工作频率,其工作频率值和西门子PLCPLC内置的一致,如下图Hz工作频率从0.5-10.0Hz。
2.3输出接口
程序块并没有输出接口,所有的逻辑性结论都可以直接在系统中取值到全局性数据块SystemInfo中,全局性数据块SystemInfo是被关联在一起,做为程序块的逻辑性结论的导出。
三、程序流程功能说明控制模块信息内容
CPU控制模块信息内容主要包含CPU的名称、Mac详细地址、Ip详细地址、子网掩码及其网关地址这些,在基本数据类型里的名称为CPUInfo。
因为CPU的有关信息配备之后,这种信息就始终不变,这种信息内容只会在CPU运行的个循环周期载入。
当设备信息载入取得成功或载入出现异常,CPU运行后的个循环系统的标志寄存器FirstScan(初始值为TRUE)会被校准。若载入出现异常,设备信息的载入需根据管脚i_ManualReadInfo手动式载入。
3.2日期信息内容
CPU日期信息内容主要包含各种各样文件格式的日期和时长,及其根据日期时间变化的相匹配的差分信号,在基本数据类型里的名称为Date&TimeInfo和NewDate&TimeInfo。
Date&TimeInfo是各种各样文件格式的日期信息内容;
NewDate&TimeInfo是年、月、日、钟头、min、秒的差分信号,即相匹配的每一个新的日期或时长产生情况下,这种自变量会维持一个周期,即相匹配的差分信号。
日期和时长及其相对应的差分信号,全是根据CPU给予的系统软件命令RD_LOC_T载入并解决而成。
3.3数字时钟信息内容
CPU数字时钟信息内容主要包含0.5Hz到10Hz的波型数据信号及其相对应的时长差分信号,0.5Hz到10Hz数据信号相匹配的单脉冲时长数量分别为为0.05到1.0秒,在基本数据类型里的名称为ClockInfo和OnePulse。
数字时钟信息内容的解决在程序块的键入管脚中早已有相应的表明,详尽请见程序块的表明。
3.4运作信息内容
CPU运作信息内容主要包含开与关数据信号、常开常闭数据信号、CPU运行后的个循环系统及其现阶段周期时间的运行时间,在基本数据类型里的名称为RunInfo。
开与关(AlwaysTrue)/常开常闭数据信号(AlwaysFalse)在系统中没解决,维持自变量的初始值就可以。
CPU运行个循环系统周期信号(FirstScan)在CPU设备信息读取中也是有表明,也是在程序流程的后将firstScan的初始值(TRUE)校准为FALSE,那样改变量为TRUE的情况下即CPU运行的个循环周期。
现阶段循环周期分成Int和Real二种基本数据类型,根据PLC给予的系统软件命令RUNTIME载入现阶段循环周期时长,并把其变换为不一样的基本数据类型。
四、功能块的应用
因为基本数据类型含有CPU的个扫描仪周期信号(FirstScan),该功能块提议放到主循环程序(OB1)尾端启用。
置放后面启用,别的程序流程中务必在个运行周期时间启用的流程就能通过全局性数据块SystemInfo里的自变量"SystemInfo".RunInfo.FirstScan来处理。
自然,针对机器设备程序流程,还可以在功能块中创建一个静态变量FisrtScan解决,程序流程和以上相近,将该自变量初始值设定为TRUE,在功能块的尾端之处将其校准为FLASE,这样就能通过FirstScan自变量解决。
五、功能块的实际意义
该程序块解决的信息内容的用途是十分充实的,这种信息内容做为全部CPU系统软件的基本资料,为工业自动化程序流程里的各种各样必须带来了便捷的处理方法。
CPU控制模块信息内容能直接跟MES系统软件互换,用以全自动说明现阶段设备系统的真实身份。当HMI联接好几个PLC系统软件的时,还可以利用该信息内容挑选相匹配的PLC实际操作。
数字时钟信息内容能够用以相匹配的延迟解决,默认设置带来了8种数字时钟信息内容及差分信号,还可以在键入管脚中设定多32种数字时钟信息内容及差分信号。
数字时钟信息内容还能够用以不一样工作频率的标示要求,当场显示灯及其HMI上人机交互技术的情况标示。
日期信息内容和运作信息内容,只要是在程序流程含有要求,只需将该类信息内容取值给相对应的自变量就可以,不用解决。
针对工业自动化程序编写,无论是不是必须以上信息内容,都可以把FB_SystemInfo当成一个标准功能块置放在源程序尾端,结构型、模块化设计、规范化,方便应用程序的应用及速率的提升。
六、后面扩展
以上具体内容在Sicar的规范构架程序流程中是复位程序流程中完成的基本功能,但因为汽车业的独特性,Sicar中的数据多种多样且不有利于应用。
以上具体内容即是Sicar中具体内容的汇总,都是面向对象的构架程序流程里的基本程序块。对微信公众号中过去具体内容有阅读文章得话,能够发觉根据CPG的面向对象的规范构架程序流程中一直有FB_SystemInfo的程序块。但该程序块那时候只对系统时钟和日期解决过,根据Sicar中的具体内容,现基本上形成了一个新版本的能够适用的FB_SystemInfo的程序流程具体内容。
之上只是一个基本上信息资源管理,但因为各个行业的独特性,西门子PLCPLC还带来了更多的是确诊信息内容用以系统信息的载入。
例如如下所示的GetClockStatus载入CPU数字时钟情况,能够载入时钟同步等信息内容。
例如如下所示的RT_INFO载入运行系统统计分析,能够特定不一样OB的运行时间、载入OB的现阶段运行时间、长度运行时间等信息内容。
根据各个行业的多样性及必须,FB_SystemInfo的具体内容能够自身界定并建立领域的规范功能块。