不一样,PORT1或者PORT0都是485接口,DP口和485不同,如果S7-200想要使用DP通讯的话,需要添加DP通讯模块。
1、port0、port1通信口特殊标记位存储器(SM)不同,都可以上传、下载程序,port1只能设为MODBUS主站,port0主、从都可以——如果是自己编写的通讯代码,不存在这个差别。PORT0可以用作编程口也可以用作设备与PLC的通信口,PORT1只能作为设备与PLC的通信口。
2、port0、port1通信口各自独立,每个通信口都有自己的网络地址、通信速率等参数设置。通信口的参数在编程软件Micro/WIN的“系统块”中查看、设置,新的设置在系统块下载到CPU中后起作用。
3、port0、port1通信口各自在不同的模式、通信速率下工作;它们的口地址甚至不同。
这两个接口都可以使用的,完全独立,你只要在库中来调用相应的程序块即可,库里面主站程序两个端口的都有,从站程序只有port0口的.
两个接口的梯形图编程有点区别,具体如下
PORT0口的通信协议库的调用如下:
PORT1口的通信协议库的调用如下:
在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的PLC之间需要进行远程相互控制,通常是采用RS485总线,通过MODBUS协议完成此功能。
如果现场布线不方便的话,也可以采用无线方式进行通信。这里以达泰DTD433无线模组和西门子S7_200为例进行说明。
一、两台S7_200 西门子PLC之间的远程控制,主从站通讯
实现的功能:
PLC1的8个开关量输入,I0.0~I0.7与PLC2的开关量输出Q0.0~Q0.7一一对应,也就是说上图中的A1开关按下时,PLC1的开关量输入I0.0闭合,PLC2的输出继电器触点Q0.0导通,L2点亮。
PLC2的8个开关量输入,I0.0~I0.7与PLC1的开关量输出Q0.0~Q0.7一一对应,也就是说上图中的A2开关按下时,PLC2的开关量输入I0.0闭合,PLC1的输出继电器触点Q0.0导通,L1点亮。
PLC1与PLC2之间的通信是通过S7_200CPU22XP的Port0通信口的RS485总线连接的,其中采用了Modbus协议。
二、西门子PLC通信中的Modbus协议编程方法
假设把PLC1作为主站,PLC2作为从站,分别编写主站和从站程序,主要掌握以下要点:
Modbus 主站读写程序
Modbus RTU主站功能是通过指令库中预先编好的程序功能块实现的,该库只针对Port 0口有效;
在程序中插入MBUS_CTRL指令,并在每次扫描时执行MBUS_CTRL。您可以使用MBUS_CTRL指令初始化或更改Modbus通讯参数。
Modbus RTU主站使用了一些用户中断,在用户程序中不能禁止中断;
读取从站数据在程序中插入MBUS_MSG指令,注意从站地址设置用一致;
该例程访问的为一个从站,若访问不同的从站,可通过改变从站地址来实现。
Modbus 从站读写程序
在第一个循环周期内插入MBUS_INIT指令初始化Modbus从站协议:
Mode: 模式选择,启动/停止MODBUS,1=启动;0=停止
Address: 从站地址,MODBUS从站地址,取值1~247
Baud: 波特率,可选1200,2400,4800,9600,19200,38400,57600,115200
Parity: 奇偶校验,0=无校验;1=奇校验;2=偶校验
Delay: 延时,附加字符间延时,缺省值为0
Done: 初始化完成标志,成功初始化后置1
Error: 初始化错误代码
在本例子中,设置从站地址为8,Port0 通讯波特率为9600bps,无校验;
本例子中Modbus RTU从站指令使用的库存储为VB2000---VB2779,这段寄存器地址不能再被程序中的任何指令使用,包括MBUS_INIT和MBUS_SLAVE 指令在内。
MBUS_SLAVE指令被用于为Modbus主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus请求。在每次扫描且EN输入开启时执行该指令。
三、无线Modbus通信的实现方法
以上说明了采用有线RS485总线实现多台PLC之间的远程控制方法,有时由于现场条件的限制,重新布设通信线路很不方便,例如山上与山下,或者横跨马路的情况,尤其对于工程改造项目二次布线几乎是甲方无法接受的。在这种情况下,可以采用DTD433无线通信模组代替通信电缆,实现起来非常方便,不需要
无线通信模组采用中心频率为433MHz开放的ISM频段,内部使用全数字RF通信芯片与单片机组成无线数传系统,外部通信接口与RS485总线完全一致,为了使用方便,通信实现所发即所得,也就是说数据通信是完全的透明方式,这样的话,用两个DTD433模组能够直接代替有线的RS485通信导线。需要注意的是:
PLC的Modbus通信速率要与无线数传模组的波特率设置一致,例如通信参数可以设置为9600bps,8位数据,无效验位。
S7_200的RS485+连接DTD433的RS485_B;
S7_200的RS485-连接DTD433的RS485_A;
无线数传模组的供电电源为直流24V,与PLC可以共用电源;
无线通讯距离在200米左右选用DTD433A模组;
无线通讯距离在1000米左右选用DTD433B模组;
无线通讯距离在3000米左右选用DTD433C模组;
保证通信距离,提高通信质量要选择高增益的吸盘天线,天线安放高度离地面越高效果越好。
四、PLC与DTD433无线模组通讯成功的案例
西门子PLC与DTD433C-S4 9600bps,8,N,1,RS485口
海为PLC与DTD433C-S4 9600bps,8,N,2,RS485口
台达PLC与DTD433A_S4 9600bps,7,E,1,RS485口
编程。