当前位置: 主页 > PLC控制

plc300通过em277与plc200通讯实例程序

问题补充:
通过PROFIBUSDP进行数据通讯,这方面资料我已经看过,就是对程序的编写有疑问。是不是只需要在调用sfc14和sfc15两个模块呢?

最佳答案

1.S7-300S7-200通过EM277进行PROFIBUSDP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V存储区与S7-300的组态EM277从站时的硬件I/O地址相对应就可以了。
2.S7200与S7300之间采用MPI通讯方式时,S7200PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V存储区当中即可,而S7300中需要在OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),实现S7300与S7200之间的通讯,调用SFC67和SFC68时VAR_ADDR参数填写S7200的数据地址区,这里需填写P#DB1.×××BYTEn对应的就是S7200V存储区当中VB××到VB(××+n)的数据区。例如:
将200的MD10读到300的MD205中,并将300的MD225写到200的MD20中
NETWORK
TITLE=
OM0.0;
ONM0.0;
SM200.0;
SM200.1;
L6;
TMW201;


NETWORK
TITLE=
CALL"X_GET"(
REQ:=M200.0,//启动读操作
CONT:=M200.1,
DEST_ID:=MW201,//读取对象的MPI地址
VAR_ADDR:=MD10,//读取的区域为读取对象的数据区MD10
RET_VAL:=MW203,
BUSY:=M200.2,
RD:=MD205);//将读取对象的数据区MD10中的内容读取到本机的MD205中


NETWORK
TITLE=
OM0.0;
ONM0.0;
SM210.0;
SM210.1;
LMB170;
TMB225;


NETWORK
TITLE=传送数据
CALL"X_PUT"(
REQ:=M210.0,//启动写操作
CONT:=M210.1,
DEST_ID:=MW201,//目标对象MPI地址
VAR_ADDR:=MD20,//目标象中数据将被写入的区域
SD:=MD225,//要写入的数据在本机中的存贮区域
RET_VAL:=MW213,
BUSY:=M210.2);

提问者对于答案的评价:
我做的是关于DP的,MPI的不需要,虽然前几位说了不少,但是对程序还是有疑惑,不清楚具体使用哪些,希望能早点调出来。

专家置评

是否调用SFC14/15是根据所传输的数据一致性要求,如果没有一致性要求,可以直接使用EM277分配的地址,如LIBxx,TQBxx。

  • 关注微信

猜你喜欢

微信公众号