SIEMENS陕西省汉中市西门子(授权)中国一级代理商-西门子技术支持-西门子变频器
| 更新时间 2025-01-31 09:10:00 价格 请来电询价 变频器 西门子代理商 触摸屏 西门子一级代理 伺服电机 西门子一级总代理 联系电话 18126392341 联系手机 15267534595 联系人 梁涛 立即询价 |
工控编程是面向设备的编程,一般很多工程师在编程过程中没有程序架构的意识,所以对于一些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中建立了数据类型typeSystemInfo用于存储系统信息。
PLC中建立一个全局数据块SystemInfo,该数据块为源自数据类型typeSystemInfo的数据块,用于实例化上述自定义的数据类型。
二、程序块说明
程序块名称
程序中实现上述功能的功能块为FB_SystemInfo,功能块图如下所示
2.2输入接口
i_HwId:CPU系统变量,西门子系列CPU的变量一般为“本地PN接口”。
i_ManualReadInfo:当CPU的第一个周期读取CPU的设备信息有故障的情况下,可以通过触发该变量手动读取CPU的设备信息。
i_SystemClockByte:CPU的系统时钟字节,在CPU的设置中设置。
i_SystemClockEnable:默认值为TRUE,当为TRUE的时候,读取CPU的系统时钟信号并处理。
上述两个系统时钟字节的应用需要在CPU的系统和时钟存储器中启用时钟存储器字节,并在时钟存储器字节地址中填上M寄存器的地址,一般默认为0;
由于西门子系列PLC提供了上述的字节,所以程序中也默认启用时钟字节功能。但若在调用功能块的时候,若输入引脚i_SystemClockByte为空的时候(如下图),即使引脚i_SystemClockEnable为TRUE,程序也不会使用系统时钟,而是使用引脚i_ClockEnable配置的频率生成时钟变量。
i_ClockEnable:数据类型为32个浮点型数组,可以设置Zui多32个Hz频率。基于西门子CPU的系统时钟提供了8个系统时钟,所以该输入也设置了默认的8个频率,其频率值和西门子PLC自带的一致,如下图Hz频率从0.5-10.0Hz。
2.3输出接口
程序块没有输出接口,所有的逻辑结果都直接在程序中赋值到全局数据块SystemInfo中,所以全局数据块SystemInfo是被绑定在一起,作为程序块的逻辑结果的输出。
联系方式
- 电 话:18126392341
- 联系人:梁涛
- 手 机:15267534595
- 微 信:15267534595