"SIMATIC发送,接收指令(5)提供了关于西门子PLC编程中SIMATIC系列PLC使用发送(XMT)和接收(RCV)指令的详细技术资料。"
在西门子PLC编程中,SIMATIC发送(XMT)和接收(RCV)指令是用于自由端口模式下进行串行通信的关键指令。这些指令允许用户直接控制CPU的串行通讯接口,实现自定义通信协议,这对于与各种设备如打印机、显示器、条码阅读器、重量计等的交互至关重要。
发送指令(XMT)的主要功能是激活发送数据缓冲区(TBL),其中的数据将被发送出去。首先,缓冲区的第一个字节指示了要发送的数据字节数。发送指令适用于自由端口模式,此时指定的PORT(通常是0或1)指定了发送数据的端口。然而,XMT指令执行时可能会遇到一些错误条件,例如SM4.3(运行时间错误)、0006(间接寻址错误)、0009(端口0同时进行XMT/RCV操作)和000B(端口1同时进行XMT/RCV操作)。
接收指令(RCV)则是用于激活接收信息服务,通过指定的PORT接收数据并存储到数据缓冲区(TBL)中,缓冲区的第一个字节同样指示了接收到的字节数。接收过程中,错误条件包括SM86.6、SM186.6(RCV参数错误)、SM4.3(运行时间错误)、0006(间接寻址错误)、0009(端口0同时XMT/RCV)以及000B(端口1同时XMT/RCV)。指令的操作数通常为TABLE类型,可以是VB, IB, QB, MB, SB, SMB, *VD, *AC, 或 *LD,并且PORT为常数,对于CPU221, CPU222和CPU224,值为0,而CPU226可以是0或1。
自由端口模式是CPU的串行通讯口的一种工作模式,允许用户程序直接控制通信操作,包括中断处理。在这个模式下,通讯协议的细节完全由用户编写的梯形图程序决定。SMB30(用于端口0)和SMB31(如果有两个端口,则用于端口1)寄存器用来设置波特率和奇偶校验位。需要注意的是,在STOP模式下,自由端口模式会被禁止,恢复正常的通讯操作。
除了简单的文本输出任务,如使用XMT指令向打印机或显示器发送信息,自由端口模式还可以实现更复杂的通信任务,如与条码阅读器、重量计等设备的连接,这需要对发送和接收指令有深入理解和灵活应用。因此,掌握SIMATIC发送和接收指令的正确使用方法是西门子PLC编程中不可或缺的部分,对于实现高效、定制化的工业自动化解决方案具有重要意义。