电工学习网

 找回密码
 立即注册

西门子S7-200 smart modbus自由口通讯

2016-11-29 20:49| 编辑:电工学习网| 查看: 19692| 评论: 0|来自: 西门子工业技术论坛

  西门子200 smart modbus自由口通讯个人认为如同2个人打乒乓球的游戏,不、应该是比赛更合适,因为打乒乓球之前必须有一个严格的比赛规则,双方都将遵循这个规则(通讯协议)。所以,通讯基本参数就如先发布比赛规则,然后双方才能在此规则下允许一场友谊比赛。
  先说说发球方,即通讯程序中的发送指令(XMT)。该指令仅仅只需2个管脚要用户填写。TBL为发送数据的储存地址区,数据类型(byte),其中,第一个仅仅是发送数据的个数储存地址区,该地址不参与发送数据;PROT为指定通讯端口,集成本机口填写为“0”口,控制的信号板填写“1”口。
程序例子:假设发送字符【Siemens】为例,prot0口


   字符simenes共有7个字符,分别在以VB1开始的连续7个字符中写入(必须是连续的地址区编写)。写入的方法可以由数据块中直接写入,也可以用MOV_B指令来完成(如果数据量比较大,这个方式估计会让你抓狂,当然适合变化、调整的数据编写)。
数据块编辑方式:

数据块也允许直接写入一串字符的方法进行,图示:

下载到cpu后,监控数据数值,图示:

这样,cpu会按每一秒的节拍方式,由prot0口把字符串“Siemens”无限次发送出去。如果需要多个数据串连续发送,如何来界定这其中的一串数据发送完成?西门子200 smart通讯程序可以用中断或者标志位来界定,其中,发送完成中断在prot0口的中断事件号为事件9、prot1口中断事件号为26;也可以通过标志位prot0口为SM4.5、prot1口为SM4.6来确定。
图示为用发送完成标志位SM4.5检测:

如果需要调用中断来界定通讯发送完成或者接收完成中断,则需要事先设置通讯中断事件了。
调用通讯发送完成中断程序:
1)新建一个初始化通讯子程序:

2)主程序调用:

3)中断子程序中实现VD10的累加,图示:

注意!通讯字符发送只允许编写英文字符或者拼音字母,不允许用汉字来编写。
如何来确定例子程序的发送字符是正常的呢?一般我们用串口调试软件来实现(当然也可以2台plc之间通讯测试)。该软件网上一大堆,随便搜索一下,下载一个安装就可以的,当然,也有免安装的那种。我这里用的是这种串口调试软件,图示:

打开这个串口调试软件的界面,图示:

与PLC连接好通讯电缆,就可以监控PLC从prot0口所发送的字符数据内容了。球是发出去了,是否能够让“对方”正常接收是一个未知数,因为能够正确接球,需要考虑硬件的正确连接,软件协议的一致性,干扰原因等因数(这关系到接球方的球艺)。

看过《西门子S7-200 smart modbus自由口通讯》的人还看了以下文章:

发表评论

最新评论

  • 电表怎么看度数
  • 插座烧毁原因_插座烧后还可以继续使用吗?
  • 注册电气工程师考试挂靠,到底富了谁?
  • 电工证可以“挂靠“吗
  • 电工证怎么考?如何自考电工证
  • 电工证种类和图片大全
热门资讯

电工学习网 ( )

GMT+8, 2021-12-6 20:45

Powered by © 2011-2021 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部