S7通讯条件下的ADDR_1的最小通讯单位
今天,看到有一位网友提问,说S7-1200的S7通讯,在调用GET/PUT指令下的ADDR_1管脚填写位(Bool)变量时,SD_1管脚对应变量单位时报警。不清楚哪位网友拿着西门子硬件优势条件不用,非要“走”这么一个“绝端”的通讯。
之前,做过的项目时,均是如地产大亨王jianlin那句励志名言“先争它一个亿”那样,我都是先搞它10个字节的豪气,反正项目中这些地址也是空着闲置的。趁着手头上有试验的硬件,何不做一个验证一下呢。
验证的程序:软件portal V15
S7-1214C DC/DC/DC与200 smart SR30,S7-1214C作为客户机,200 smart作为服务器。
通讯数据交互:
S7 – 1214C 200 Smart
1) 组态硬件:
2) 创建子网,定义IP地址:
3) 创建服务器连接IP:192.168.0.10
4) 创建数据块_3,用于填写GET/PUT指令时,填写各管脚:取消优化访问
5) 连续创建数据块_2,存放通讯数据区,取消该数据块优化访问:
读取数据存放在DB4.DBB0,写数据存放在DB4.DBB1,为验证位单位通讯,创建以bool单位创建。
6) 调用在“通讯”下的GET/PUT指令:
7) 调用系统时钟脉冲的10HZ信号,以上升沿和下降沿分别触发GET/PUT指令:
8) 编译、保存项目:
9) 将项目下载:
10) 设置200smart服务器IP地址:192.168.0.10
11) S7-1214C编辑类似的程序:
将这些程序编译后分别下载到各自的plc中验证,可以通讯。因为我没有CSM1277以太网接口模块,下载后无法再能够与电脑连接,监控程序无法再截图了。
如果有兴趣按此程序仿制,是可以通讯的。