今天给大家分享S7-400PLC间工业以太网ISO_on_TCP通讯连接建立,希望大家共同交流进步!
一、工作准备
1. 需要两个组态好的S7-400PLC系统,且两以太网络在同一网段上。此处选好自动化科室实验室两套在同一网段的S7-400PLC系统为实验对象。
2. 需要带STEP-7编程软件的工控机一台,工控机网段与PLC系统网段一致,并且工控机与两套S7-400PLC系统通过工业以太网网络线连接起来。两套400PLC分别命名为shiyan1,shiyan2
二、网络组态
1. 打开shiyan1项目文件组态网络,选中CPU,在格子中点击鼠标右键,选择<插入新连接>,此时会弹出一个对话框,<连接伙伴>中选择未指定,<连接类型>选择<ISO_on_TCP连接>,点击<确认>。如图2
2. 弹出对话框<属性-ISO_on_TCP连接>。在<常规信息>中选中<激活链接的建立>;在<地址>中键入远程系统shiyan2项目IP地址。远程<TSAP(ASC)>与<TSAP(十六进制)>的代码本地代码保持一致,点击对话框的<确认>键。如图3
3. 返回shiyan1项目组态网络,在任务栏中选择<编译并保存>图标,编译保存刚才建立的双边通讯ISO_on_TCP连接。编译通过无错误后,在任务栏中选择<下载>图标,将所选的站点shiyan1现在CPU中。
4. 打开shiyan2项目网络组态,重复一遍上面操作,但是在<常规信息>中不要选中<激活链接的建立>,且IP地址输入shiyan1项目IP。
5. 下载完成后,分别在shiyan1与shiyan2任务栏中选择<激活>图标,查看是否建立ISO_on_TCP连接,下面方格连接状态中出现绿色三角形,且后面标明<已建立>。说明双边通讯shiyan1与shiyan2已经建立。


三、通讯块程序编辑
1. 在shiyan1项目中建立双边通讯的发送块,在shiyan2项目中建立双边通讯的接收块。
2. 分别打开两个项目的编辑通讯程序功能块FC。在shiyan1项目程序段中调用系统功能块<AG_SEND>发送块,在shiyan1项目程序段中调用系统功能块<AG_RECV>接收块。
3. <AG_SEND>发送块管脚解释:<ACT>用于存储位触发作业;<ID>根据组态连接标识号,具体输入可参见网络组态对话框<属性-ISO_on_TCP连接>中的块参数;<LADDR>具体输入可参见网络组态对话框<属性-ISO_on_TCP连接>中的块参数;<SEND>带发送数据的缓冲区;<LEN>用于发送数据的长度信息;<DONE>为0表示作业还未启动或仍然处于激活状态,为1表示作业已成功完成;<ERROR>通讯出错;<STATUS>错误代码。

4. <AG_RECV>接收块管脚解释:<ID>根据组态连接标识号,具体输入可参见网络组态对话框<属性-ISO_on_TCP连接>中的块参数;<LADDR>具体输入可参见网络组态对话框<属性-ISO_on_TCP连接>中的块参数;<RECV>带接收数据的缓冲区;<NDR>为0表示作业还未启动或仍然处于激活状态,为1表示作业已成功完成;<ERROR>通讯出错;<STATUS>错误代码; <LEN>用于接收数据的长度信息。

5. 根据管脚定义,按照控制要求将变量数据填入<AG_SEND>发送块与<AG_RECV>接收块中。保存下载功能块。