在现场应用中,当需要PLC与上位机通信时,较多地使用自定义协议与上位机通信。在这种通信方式中,需要编程者首先定义自己的自由通信格式,在PLC中编写代码,利用中断方式控制通信端口的数据收发。当PLC的通信口定义为自由口时,PLC的编程软件无法对PLC进行监控。
自由口模式允许程序控制S7-200 CPU的通信端口。用户可以使用自由口模式使用户定义通信协议与多种智能设备通信。自由口模式支持ASCII和二进制协议。
图10-12 具有点对点通信功能的多台主站
欲启用自由口模式,可使用特殊内存字节SMB30(用于0号端口)和SMB130(用于1号端口)。用户可以从SMB30和SMB130读取或向SMB30和SMB130写入。这些字节配置各自的通信端口,进行自由口操作,并提供自由口或系统协议支持选择。SMB30/SMB130的定义见表10-1。
表10-1 SMB30/SMB130的定义
(www.xing528.com)
用户程序使用以下功能控制通信端口的操作:
1)传送指令(XMT)和传送中断:“传送”指令允许S7-200 CPU从COM端口最多传送255字符。传送完成时,传送中断向S7-200中的程序发出通知。
2)接收字符中断:接收字符中断通知用户程序在COM端口中收到一个字符。程序则可根据正在执行的协议处理该字符。
3)接收指令(RCV):接收指令从COM端口接收整条信息,完全收到信息后,为用户程序生成中断。使用S7-200 PLC的SM内存配置“接收”指令,根据定义的条件开始和停止信息接收。“接收”指令允许程序根据具体字符或时间间隙开始或停止信息。大多数协议可用接收指令执行。
自由口模式仅限在S7-200处于RUN(运行)模式时才成为激活。将S7-200 PLC设为STOP(停止)模式会使所有的自由口通信暂停,通信端口则返回至S7-200系统块中配置的PPI协议设置。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。