n
对于IO模板可分为可编程模板和不可编程模板,其中可编程模板以订货号后4个字母0AB0来表示,不可编程模板则以0AA0来表示。对于可编程模板,其属性可以通过Step7的硬件组态为其设置参数,例如图1 可编程模板的参数。n
图1 可编程模板的参数n
可编程的IO模板,除了自身的IO点可以控制外,也可以控制模板的参数。对于模板的参数的修改可以通过Step7的硬件组态进行设置,也可以通过系统功能块在PLC运行时进行修改。
可编程的IO模板的参数以数据记录(Data Record)的方式进行读写,对于数字量模板这些参数按照一定的格式存放在数据记录0和数据记录1中,对于模拟量模板这些参数按照一定的格式主要存放在数据记录0,1和128中。对于PROFIBUS网络,可以通过SFC55 WR_PARM,SFC56 WR_DPARM,SFC57 PARM_MOD对可编程的模板进行数据记录的参数设置。对于数据记录0,1和128的格式,不同的可编程模板具有不同的数据记录格式。对于S7-300的可编程模块的数据记录的具体格式,请参考手册附录的A部分,链接如下:8859629。
对于PROFINET,其开放性允许使用原有的IO模块应用在PROFINET网络中。不过,由于基于以太网,PROFINET相比PROFIBUS处理的数据架构更多,所以原有的功能块SFC55,SFC56,SFC57不再适用于PROFINET网络,而使用SFB53 WRREC来设置可编程模板的参数。
参照手册中参数的数据记录结构,可以通过SFB53修改PROFINET IO可编程模板的参数。但是手册中提到的数据记录结构比较繁琐,且查找困难。可以通过阅读可编程模板的GSD文件来获取可修改的参数数据记录的结构信息。
RPOFINET分布式IO设备的GSD基于XML语言,可以使用任意的XML编辑器创建,并且使用标准的XML定义内容和格式,其GSD文件架构遵守ISO 15745标准。GSDXML包括设备识别信息(制造商ID,设备ID,信息文本,制造商名称等),设备功能信息(主家族和产品家族),应用过程信息(设备访问点列表,模块列表,值列表,通道诊断列表,单元诊断类型列表,图形列表,分类列表以及外部文本列表)。
GSDXML的存储在“C:..SiemensStep7S7DATAGSD”路径下。双击其中的最新的ET200s一个GSD文件,例如GSDXML-V2.25-Siemens-ET200s-20100312.xml可以通过IE浏览器进行浏览。 参考图2 GSDXML的结构。相关ET200s的GSD文件也可以在西门子支持平台网站下载 19699080
图2 GSDXML的结构
GSDXML文件中包含对于可编程模板的信息,例如插拔模块 (点数和类型) 模块的组态数据 (例如,模拟输入)模块的参数(例如,4..20mA) 诊断信息(例如,断线)等等。参考图3 IO模板的XML示例,该模板为ET200s的DO模板(6ES7 132-4BB00-0AB0)。
图3 IO模板的XML示例
图3中也显示了该模板的数据记录1的结构,其中Index=1表示数据记录为1,Length=3表示该数据记录的长度为3个字节。初始数据记录值为0x31,0x01,0x00,可以修改7个参数,包括“Substitute value behavior”(替代值行为),“Substitute value O0” (0通道替代值),“Substitute value O1” (1通道替代值),“Diag: wire break O0” (0通道断线诊断),“Diag: wire break O1” (1通道断线诊断),“Diag: Short Circuit to GND O0” (0通道对地短路),“Diag: Short Circuit to GND O1(1通道对地短路)”,上述参数与Step7硬件组态的可编程IO模板的参数信息一一对应,参考图4 IO模板的参数。
图4 IO模板的参数
修改数据记录的信息,需要注意字节偏移和位偏移信息。例如:如果激活通道1的断线诊断,那么根据图3可知,该bit信息位于字节偏移为2,位偏移为2,那么意味着字节偏移2的0x00的Bit2为1,这样数据记录的该字节信息应为0x04(00000100)。这样写入到模块的数据记录信息则为0x31,0x01,0x04。
按照上述数据记录结构,修改DO模板的参数,例如激活通道1的断线诊断。在OB1中调用SFB53,编写程序。然后创建一个变量表,对变量设置初始值。参考图5 变量表设置。
M100.0为使能位,上升沿生效。MD104为DO模板的逻辑地址,其中最高位为1,表示输出模块,由于该模板的DO输出地址为0.0~0.1,所以MD104设置为8000。MW108设置为1,表示数据记录1。MW110设置长度为3,表示数据记录长度为3个字节。数据记录信息设置在DB2的前3个字节中,设置为0x31,0x01,0x04。
图5 变量表设置
设置M100.0为1,进行参数修改。设置成功后,Done位置1,此时MW200计数在增加。如果Done位置1设置成功,应对该位进行复位,这样可以避免更多的占用带宽。此时设置Q0.1为1,在没有接线的情况下,会产生断线中断。此时CPU的SF灯亮,(CPU的停机,取决于OB82的使用)在线查看Step7硬件组态,可知该DO模板通道1发生了断线故障。参考图6 DO模板在线。
图6 DO模板在线
修改模板参数的目的就是可以根据自己的需要,在PLC运行时修改模板的参数,而不必在Step7进行组态,因为在Step7中进行硬件组态,实际上修改了PLC的系统数据,下载系统数据PLC需要停机。不过,在PLC重新上电,或丢站重新恢复,PLC会使用原有的SDB对可编程模板进行参数设置,这意味着可编程模板恢复了原有的参数,需要对模板进行重新设置。
关键词
PROFINET,IO模板,模板参数,SFB53,GSDXML
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328396.html