前面的文章我们介绍了S7-1200与S7-200 Smart进行S7通信(S7 Communication)所需要的硬件环境及硬件组态的配置。今天这篇文章,我们来介绍下如何编程来实现两者之间的S7单边通信。
本例程使用TIA博途(Portal)V13进行编程。S7-200 Smart的CPU ST40作为服务器(Server),S7-1200 的CPU 1215C作为客户端(Client)。我们仅需要在CPU1215C一侧进行配置和编程。
打开TIA博途(Portal)V13,添加通信所需要的DB块:DB1和DB2。
DB1是CPU1215C发送到ST40的数据块,如下图:
DB2是用来接收ST40的数据块,如下图:
在DB1和DB2中分别添加100个字节的数据;
为了能保证通信正常进行,需要修改DB1和DB2的属性。取消【优化的块访问(Optimized block access)】的勾选,如下图:
接下来进行S7通信指令的编程。可以新建一个FB/FC用来存放S7通信指令,本例程我们直接将指令写到组织块OB1中。
在右侧的指令列表中找到S7通信指令PUT和GET,如下图:
PUT指令用来将本地数据发送到服务器端(ST40);GET指令用来从服务器端(ST40)获取数据并保存到本地;
首先,我们从指令框中拖拽PUT指令到OB1中,系统会自动提示添加PUT指令的背景DB块"PUT_DB",如下图:
新添加的PUT指令如下图:
该指令各引脚(参数)的含义如下:
在PUT指令中,我们使用M0.0的上升沿来触发数据发送;通信伙伴S7-200 Smart ST40的VB0~VB99对应DB1.DB0~DB99;发送数据存放在CPU 1215C的DB1的前100个字节中;
完整PUT指令如下图:
同样的方法将GET指令拖放到OB1中。
GET指令各参数的含义如下面的表格:
在GET指令中,我们使用M0.1的上升沿来触发数据接收;通信伙伴S7-200 Smart ST40的VB100~VB199对应DB1.DB100~DB199;接收的数据存放到CPU1215C的DB2的前100个字节中。
完整GET指令如下图:
好了,关于S7-1200与S7-200 Smart的S7单边通信就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
S7-1200与S7-200 Smart的S7通信(2)-指令编程
来源:本站| 大小:573 KB| 下载次数:2137次
发表评论