[西门子] 西门子S7-1500与S7-1200不同项目之间的S7通信(S7-1500作客户端...

[复制链接]
查看57204 | 回复0 | 2024-5-10 14:24:20 | 显示全部楼层 |阅读模式
各位同仁:大家好

     S7-1500与S7-1200在不同项目之间 的 PROFINET 通信,上篇文章实操调试案例S7-1500与S7-1200之间的S7通信,S7-1500与S7-1200是在同一项目内实现的S7通信。本编程实操调试案例是把S7-1500与S7-1200分别处在不同的工程项目中,这种通信案例一般资料上很少出现,因此本案例与上篇1500与1200处在同一项目中作为对比案例,强化S7-1500与S7-1200通信的不同方式、架构。本案例采用S7-1500PLC作为客户端,S7-1200PLC作为服务器端,通信程序写在S7-1500PLC客户端,S7-1200PLC中不做通信编程,本案例属于单向通信,这种通信方式工程上可能比1500与1200在同一个工程项目内使用概率更高,但是在市面上的资料、书籍上鲜见这种通信案例,这就是为什么要做本案例的原因,更实用,一般人都不会这种通信编程方法。

      培训中心推出线上与线下面授实操培训课程,为了解决大家在学习过程中遇到的各种问题以及在工作过程中遇到的各种问题进行咨询、交流、探讨,每周三晚上七点半到九点通过腾讯会议在线直播答疑,欢迎加微信(13811659603)进入工控技术交流群,每周三晚上的在线直播答疑会议号会在每周三下午发布在培训中心各个技术交流群里。欢迎咨询、交流、探讨。

硬件组成:

S7-1500采用CPU1511C,紧凑型1500PLC。

S7-1200采用CPU1214C,AC/DC/RLY

博途软件版本:

采用博途V15版本(只要是V13SP1以上的各个版本差别不大)

要实现的任务要求:



第一部分:博途1500PLC项目编程组态

1、点新建创建项目给项目命名:



2、添加新设备:



3、设置CPU的IP地址:



4、设置系统与时钟存储器



5、创建DB1(发送)与DB2(接收)全局数据块。





在DB1上点右键,属性对话框,去掉“优化的块访问”前面的√,使DB1的符号访问转成绝对地址访问



点DB1编译后如下图所示:



同样创建DB2(RECEIVE)



6、创建变量监控表,用于后面调试通信程序,查看发送数据区与接收数据区的数据是否正常。



7、双击“设备和网络”进入网络视图,在网口,点击右键--添加子网。



8、进入OB1主程序窗口,右侧点击“通信”--S7通信



9、组态PUT库指令:



10、组态GET通信指令



11、完成OB1主程序中PUT、GET通信指令的组态与编程。



12、选中PLC_1站点,点击“编译”“保存”“下载”。



到此为止:完成S7-1500PLC站点(客户端)的全部编程工作。

第二部分:博途1200PLC项目编程组态

1、点新建创建项目,给新项目命名



2、添加新设备,创建CPU1214 PLC站点(服务器端)



3、设置CPU1214C PLC的IP地址



4、设置防护与安全:连接机制



5、在CPU1214C中,创建新块,插入DB1(RECEIVE)与DB2(SEND)全局数据块

创建DB1(RECEIVE)数据块



创建DB2(SEND)数据块



6、在CPU1214中创建变量监控表,用以观察1500客户端与1200服务器端的发送与接收数据是否正确。



7、在CPU1214项目站点,选中PLC_1,编译项目,保存项目,下载项目到CPU1214C中

至此:博途1200PLC项目组态编程完成

第三部分:分别把博途1500项目、1200项目下载到各自的CPU中,然后在S7-1500PLC项目与S7-1200PLC项目中分别打开监控表,在两个监控表中分别相互发送及接收数据,观察发送数据区及接收数据区的数据是否正确,从而验证是否实现任务要求。



总结:通过在线监控,两个PLC项目站点的发送数据区与接收数据区都正常,从而表明以上编程、组态都是正确的。

     

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则