西门子plc与西门子变频器通讯的控制字与状态字
近调试涉及到西门子plc与6SE70变频器通讯,因为以前没有深入接触过西门子的通讯连接,有关于控制字和状态字的问题比较挠头,询问了有经验的专家,现在刚刚懂了点皮毛,好记性不如烂笔头,先赶紧记下来,以后慢慢深入学习,也供大家参考。 PLC给变频器的第二个PZD存储在变频器里的K3002字里,变频器的参数P443存放给定值,如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字。PLC发送过来的第二个字的大小为0到16384(十进制—),(对应变频器输出的0到),当为8192时,变频器输出频率为25Hz。 . . |
在实际项目中,触摸屏与PLC的时间同步是必要的。比如我们有时候需要根据触摸屏的报警时间去查找问题,如果触摸屏与PLC的时间不同步,便不利于故障查找及原因分析。这篇文章,给大家介绍下西门子触摸屏如何与PLC保持时间同步,这个方法对西门子精简面板、精致面板、精彩面板(SMART Line)都是适用的。
实现触摸屏与PLC的时间同步,需要用到“区域指针”。
在西门子S7-400plc内,FB块调用FB块,PLC循环扫描时,被调用的FB块是如何被执行的,包括内的静态变量、临时变量是如何被扫描的啊,静态变量什么时候被存储到背景数据块啊,我看到有段程序,被调用的FB块内部输入变量在监控时一直在变化,而调用他的FB块外部输入条件一直不变,这是为什么?
答:PLC的扫描机制是从上而下,自左向右顺序扫描。有中断就去执行中断程序的内容。中断又按优先级扫苗。
无论你是怎么调用FB的,(多个FB调用同一FB或同一FB调用多个FB),PLC的CPU都是顺序扫描,当你调用的条件满足了,就执行调用功能,这个时候的FB外部管脚填写的相应变量,和内部临时变量(执行完这个FB功能,temp变量自动释放)和静态变量,是这个时候,调用这个FB的情况满足条件下的数据。
PLC接着顺序扫描,在下面又调用同一个FB,那么这个时候的外部管脚填写的变量,和内部的临时变量((执行完这个FB功能,temp变量自动释放)和静态变量,是这个条件满足下的执行的FB功能,那么就会覆盖上面一个调用同一个FB的,外部管脚变量和静态变量
双击触摸屏与PLC的“连接”,可以看到选项卡“区域指针”,如下图(精彩面板)所示:
区域指针是预定义的系统变量,包括两种:全局区域指针和局部区域指针。
由于全局区域指针和局部区域指针均有日期时间变量,因此可以自由选择。这里以全局区域指针中的日期时间变量为例进行介绍。
我们将全局区域指针的“日期/时间PLC”设置为“连接1”,根据实际情况设置其对应的PLC存储区地址,比如下图中设置为VW0:
它表示触摸屏的系统时间将从PLC的存储区地址VW0读取,长度为6个字节。因此,我们只需要在PLC程序中将时钟写入到该地址,就可实现触摸屏时间与PLC时间同步。
比如下面的代码,S7-200 SMART使用指令READ_RTC读取系统时钟并存放到VB0开始的8个字节中:
对于西门子S7-300/1200/1500,其触摸屏与PLC时间同步是相同的思路,比如下面的图片显示了精智面板(Comfort)的区域指针设置:
同样需要在PLC中编写代码将时钟数据写入到对应的PLC存储区中(一般使用数据块)。