西门子S7-1200与台达AS300之间MODBUS TCP通信
一.S7-1200用作服务端(MB_SERVER):
1.博图V15软件编程:
1.1 DISCONNECT始终设为0;
1.2 MB_HOLD_REG:指向MODBUS保持寄存器的指针。
格式可以为数据块(数据块_2.AA)或
P#M100.0 WORD 4。
当用数据块时,框内显示“数据块_2.AA”
当用格式:P#M100.0 WORD 4时寄存器MW100,MW102,MW104,MW106对应到MODBUS寄存器40001,40002,40003,40004。。
1.3 CONNECT:指向连接描述结构的指针
格式可以为数据块(数据块_1.ss)
数据类型为:TCON_IP_V4,此处必须手工输入,原来框内没有此类型,IP地址ADDR框内可以都设为“0”,这样可以被多个客户端访问。本地端口号设为:502。
2.台达AS300编程
2.1 打开台达ISPSoft编程软件,打开硬件配置:
在一般设定下的以太网基本设定里设定AS300的IP地址:192.168.0.10,注意:网关地址192.168.0.1
2.2 打开数据交换-Ethernet
点击“新增”
写入项内填入与图片里相对应的值:D10→MODBUS Register Hex 0 数量(word)4。
设置好后保存并下载到AS300PLC内即可。
3.通信说明:
以上设置好后就可以通信了,AS300的D10,D11,D12,D13的值就可以写入到S7-1200的MODBUS寄存器40001,40002,40003,40004内,这样再通过S7-1200的MB_SERVER的指令就可以对应到MW100,MW102,MW104,MW106里了。
AS300:D10→S7-1200:MW100;
AS300:D11→S7-1200:MW102;
AS300:D12→S7-1200:MW104;
AS300:D13→S7-1200:MW106;
4. .博图V13软件编程:
二.S7-1200用作客户端(MB_CLIENT):
1.博图V15软件编程
1.1 DISCONNECT始终设为0;
1.2 REG为通信请求信号
1.3 MB_MODE为1时为写入模式,0时为读出模式
1.4 MB_DATA_ADDR:访问数据的起始地址,
1.4 MB_DATA_PTR:指向MODBUS保持寄存器的指针。
格式可以为数据块(数据块_2.AA)或
P#M100.0 WORD 2。
当用数据块时,框内显示“数据块_2.AA”
当用格式:P#M100.0 WORD 2时寄存器MW100,MW102,对应到MODBUS寄存器42001,42002。
1.5 CONNECT:指向连接描述结构的指针
格式可以为数据块(数据块_1.ss)
数据类型为:TCON_IP_V4,此处必须手工输入,原来框内没有此类型,ActiveEtablished:TRUE,IP地址ADDR框内设为192.168.0.10,这是AS300的IP地址。远程端口号设为:502。
STATUS: 连接状态信息,在监控状态下显示:704表示已正常连接,错误时会有相应的信息码出现
2.通信说明:
2.1客户端MB_MODE=0时用于S7-1200读取AS300指令:
是从AS300中的D2000(42001)→S7-1200的MW100,
从AS300中的D2001(42002)→S7-1200的MW102,
2.2客户端MB_MODE=1时用于S7-1200写入AS300指令:
是从S7-1200的MW100→AS300中的D2000(42001)
从S7-1200的MW102→AS300中的D2001(42002)