您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC的可编程通信口模式应用实例

来源:艾特贸易2017-06-05

简介S7-200 的可编程通信口模式 (Free Port Communication) 具有足够的灵活性,可利用它来实现各种各样的通信功能。下面以最简单的硬件接线和最简单的通信功能的程序实例来说明其通信的实质和

    S7-200的可编程通信口模式(Free Port Communication)具有足够的灵活性,可利用它来实现各种各样的通信功能。下面以最简单的硬件接线和最简单的通信功能的程序实例来说明其通信的实质和步骤。当然,也完全可以利用可编程通信口模式来实现更复杂的功能,如多机通信、借助公用电话网的有限远程通信。    S7-200系列PLC的系统特殊存储区中,有一个专门用于控制通信功能的控制字节SMB30。默认的设置是点对点模式(Point to Point Mode),这也是唯一的与标准的编程装置以及操作员接口(OP)实现通信的协议。要想改变通信功能的特性,如串位通信的波特率、奇偶校验特性、字符长度等,则必须改写这个控制字节而进入可编程通信口模式。此时,PLC就失去了与标准装置的通信功能。因此,系统将工作模式在“STOP”状态时的通信模式强制为点对点模式,从而保证了编程装置对PLC的编程和控制功能。    为方便实际应用可编程通信模式,仍以列表的方式来阐述。只需根据所需的功能在表10.10中查找相应的控制字节值即可(若要恢复点对点通信方式,只需将SM30复位)。    10.10     SM30通信功能控制字节值与可编程通信口模式特性选项参照表
SM30通信功能控制字节值与可编程通信口模式特性选项参照表
    在对SMB30赋值之后,通信模式就被确定,要发送数据则使用XMT指令。要接收数据则可在相应的中断程序中直接从特殊存储区中的SMB2(可编程通信口模式的接收寄存器)读取。若是采用有奇偶校验的可编程通信口模式,还需在接收数据之前检查特殊存储区中的SMB30(可编程通信口模式的校验错标志位,置位时表示出错)。下面以双机单向主从式通信为例加以说明。    10.1要使两台S7-200系列PLC(分别称为A机和B机)采用可编程通信口模式进行数据交换。A机的IB0控制B机的QB0。对发送、接收的时间配合关系无特殊要求。    (1)分析    1)由于对两台机的发送与接收配合时间无特殊要求(这是一种最简单的通信),且一台机只有一种功能,即接收或发送。故两台机的程序可相对独立地编制而无需考虑其间的握手( Handshaking)信号处理。    2)A机,在设置了可编程通信口模式之后,只要循环往复地将IB0送至在变量缓冲区中开辟的一个表格中的字节地址且不断执行发送指令XMT。同理,对B机,设置可编程通信模式之后,将接收中断事件8连接到一个中断程序,再开中断,然后循环地从SMB2中读取数据,再送到QB0    (2)发送程序(如图10.6所示)
发送程序的梯形图及语句表
    10.6    发送程序的梯形图及语句表    (3)接收程序(如图10.7所示)
接收程序的梯形图及语句表
    10.7    接收程序的梯形图及语句表    (4)程序注释    1)发送程序。由于指令XMT的格式要求,其PORT端除支持直接寻址方式外,还可支持间接寻址。考虑到该程序对发送数据所存放地址的灵活性,故选用指针方式的间接寻址。指针的内容存放在VD96(Network3)    由于需一直监视系统的通信模式,故对SMB30的没置编写在主程序中(Network12),这样可随时将监控权交回给编程器。    SMB30通信功能控制字节值与可编程通信口模式特性选项参照表(见表10.10)可知(Network1)09H控制值对应于:可编程通信口模式,每字符8位,无奇偶校验,波特率为9600bs等特性。    一直将IB0的内容送往发送缓冲区表VB101(Network5),这样可保证A机的IB0B机的QB0的控制作用一直有效(这是一种循环的发送方式,当主程序需处理的指令较少时适用。否则就会显得效率低了)。    2)接收程序。同发送程序,先进行通信方式的设定(Network12)。在主程序中将接收中断(事件号8)与中断子程序0相连接,之后全局开中断(Network3)    在子程序中只是简单地读取接收缓冲寄存器的内容即可(Network6),这也符合中断程序编制得越短越好的原则(这是一种中断的接收方式,在主程序中有较多的指令需处理时尤其显示出效率高的优越性)。    (5)调试    1)分别将发送程序下装(Download)A机。将接收程序下装至B机。    2)采用西门子SINEC L2网的连接器及电缆,在断电状态时将两台PLC通过PPI编程接口相连。一种最简单的实验方法是直接利用编程器PG740PG720所附带的MPI编程电缆来直接将AB机相连。    3)上电运行后将AB机的模式开关打到TERM位置。    4)接通或断开A机的模拟器开关,应能观察到B机的输出QB0会跟随A机的IB0同步变化。