资源描述
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC与S7-300 PLC之间的通讯。调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为 P#DB1.DBX50.0 BYTE 10.
首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修 改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三 种波特率,例子程序当中选用了19.2K的速率。
组态S7-300主站
只要下面程序:
说明:A、触发时钟,本例用系统时钟,每05秒触发一次,如感觉双方通讯延时,可以用M0.3或M0.2,要测试。如果多个200站通讯的话,最好采用定时器做时间轮询机制。
B、一直为1就可以
C、指200的站地址,16进制
D、读取200的数据地址,最好写P#格式,写MB0格式也有可能通讯,但不确定。上图中只读取200的MB2开始的2个字节。V区对应DB1,比如VB10开始的5个字节,则表示
P#DB1.DBX 10.0 BYTE 5。
E、错误代码
F、传输完成为0
G、把200读取进来的值存放在300的位置。可以是M区、DB区,但数据长度和格式必须和200发送区一致。
另外注意200的站地址和300组态一直,波特率最好都19.2k。200里不需要编通讯程序,只做把发送数据和接收数据转存处理就可以了。
展开阅读全文