河南信阳西门子PLC模块授权代理
图解法是靠画图进行 PLC 程序设计。常见的主要有梯形图法、逻辑流程图法、时序流程图法和步进顺控法。
(1) 梯形图法:梯形图法是用梯形图语言去编制 PLC程序。这是一种模仿继电器控制系统的编程方法。其图形甚至元件名称都与继电器控制电路十分相近。这种方法很容易地就可以把原继电器控制电路移植成PLC 的梯形图语言。这对于熟悉继电器控制的人来说,一种编程方法。
(2) 逻辑流程图法:逻辑流程图法是用逻辑框图表示 PLC程序的执行过程,反应输入与输出的关系。逻辑流程图法是把系统的工艺流程,用逻辑框图表示出来形成系统的逻辑流程图。这种方法编制的 PLC控制程序逻辑思路清晰、输入与输出的因果关系及联锁条件明确。逻辑流程图会使整个程序脉络清楚,便于分析控制程序,便于查找故障点,便于调试程序和维修程序。有时对一个复杂的程序,直接用语句表和用梯形图编程可能觉得难以下手,则可以先画出逻辑流程图,再为逻辑流程图的各个部分用语句表和梯形图编制PLC 应用程序。
(3)时序流程图法:时序流程图法使画出控制系统的时序图(即到某一个时间应该进行哪项控制的控制时序图),再根据时序关系画出对应的控制任务的程序框图,后把程序框图写成PLC 程序。时序流程图法很适合于以时间为基准的控制系统的编程方法。
(4)步进顺控法:步进顺控法是在顺控指令的配合下设计复杂的控制程序。一般比较复杂的程序,都可以分成若干个功能比较简单的程序段,一个程序段可以看成整个控制过程中的一步。从整个角度去看,一个复杂系统的控制过程是由这样若干个步组成的。系统控制的任务实际上可以认为在不刻或者在不同进程中去完成对各个步的控制。为此,不少PLC 生产厂家在自己的 PLC 中增加了步进顺控指令。在画完各个步进的状态流程图之后,可以利用步进顺控指令方便地编写控制程序
编写PLC程序,调用通讯块
3.1组态连接建立成功后,需要调用通讯功能块PUT和GET进行数据交换。S7-300用于通讯连接的功能块位于标准库中,如下图所示:
图13.PUT GET指令位置
3.2调用PUT指令,本例中本地S7-300 CPU将DB10.DBB0开始的10个字节写入通信伙伴CPU的DB11.DBB0开始的10个字节中。
图14.PUT指令
参数 | 说明 |
REQ | 上升沿触发,一次上升沿发送一次数据 |
ID | 连接ID(参看图8) |
ADDR_1 | 指向伙伴CPU接收地址区域 |
SD_1 | 指向本地CPU发送地址区域 |
DONE | 发送完成(上升沿) |
ERROR | 有故障发生(上升沿) |
STATUS | 故障代码 |
表 3 PUT管脚说明
3.3调用GET指令,本例中将通信伙伴CPU的DB20.DBB0开始的10个字节读入到本地S7-300CPU的DB21.DBB0开始的10个字节中。
图15.GET指令
参数 | 说明 |
REQ | 上升沿触发,一次上升沿读取一次数据 |
ID | 连接ID(参看图8 |
ADDR_1 | 指向伙伴CPU发送地址区域 |
RD_1 | 指向本地CPU接收地址区域 |
DONE | 接收完成(上升沿) |
ERROR | 有故障发生(上升沿) |
STATUS | 故障代码 |
表 4 GET管脚说明
3.4 S7-300CPU做S7通讯的客户端时,伙伴CPU无需组态编程,准备好相应的数据区即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500CPU,需要在CPU属性的连接机制中勾选"允许来自远程对象的PUT/GET通信访问",如下图所示:
图16.连接机制