[西门子/博途]关于FC5/50,FC6/60的一些经验坑
首先简单了解一下AG_SEND/AG_LSEND,AG_RECV/AG_LRECV(AG_SSEND我没用过,不做解释)
首先AG_SEND****和TSEND不一样,这是一个硬限制。
AG_SEND用于CP组态,而TSEND/TRCV适用于局域网内通讯(同网段)本次主要介绍CP组态的方式。
AG_SEND/AG_LSEND/AG_SSEND用于发送消息,一般发送指针,如下图:
上图中,ACT检测到上升沿后,会调用AG_SEND发送SEND管脚所指定的区域起,LEN管脚58个BYTE。
发送完成后DONE管脚会置1一个扫描周期,ERROR管脚与STATUS管脚显示块的状态信息。
其中ID与LADDR来源于组态中的地址,如下图:
AG_RECV\AG_LRECV\AG_SRECV用于接收数据,用法如下:
我们发现AG_LRECV没有ACT管脚,所以,只要EN使能来,此块每个扫描周期都会接收数据。
接收完成后LEN管脚会持续显示一个扫描周期的长度。
接收的数据将按顺序放到RECV管脚所指向的区域。
ID与LADDR管脚来源于组态。
一个表格解释功能:
以下图片介绍了在S7-300/400中CP通讯块的可用性。(帮助中说S7400无法使用AG_RECV,不知为何我却使用正常。)
以下图片介绍了在S7-300/400中CP通讯块所能通讯的字节数
好了,大概能了解,我们先说怎么用!
此系列块共包含三个基本块。AG_CNTEX、AG_SEND、AG_RECV。
根据不同情况可以延伸出AG_LSEND\AG_LRECV\AG_SSEND\AG_SRECV……
先说AG_CNTEX:
用于进行连接诊断的指令 |
下面是官方给的一个指令,这里我最多用到的就是重连,重连的方式就是
ACT置位,CMD管脚写6,断开连接后,等待一秒钟写7,然后CMD写0,复位ACT
更多指令请查看编程器帮助。
我的设备信息如下:
Ps1:关于字节发送长度的问题。
通过表格可以看到AG_SEND在S7-400中可以发送最长240个BYTE。所以,超过240个BYTE时我们就要使用AG_LSEND,在使用的过程中,当使用AG_LSEND发送数据时,字节长度小于241时无法发送成功,后来交流可能是因为CP版本问题,所以将所有的字节长度最小长度为241BYTE,可以正常发送。
上图中,我通过上升沿制定了LEN管脚,发送的区域为2900BYTE,只取LEN来发送时,必须设置大于241BYTE及以上。
由于我发送的字节数长且多变,其中长字节为周期性发送,所以需要通过时钟或者计数器将发送时机间隔开来(AG_SSEND可以大大提高发送效率,但是我正好是1453个字节,白搭了。)
或者,使用DONE信号来复位,如果报文触发条件多,写起来也会比较复杂,暂时没有想到更好的写法,只能通过联锁来保证数据不冲突。
如果不间隔,可能会导致重发或者粘包,会很麻烦,我发送的字节长度在2000BYTE左右,仍然建议时间间隔在4秒左右。
比如下图
Ps2:关于接收的问题。
官方帮助文档说S7400无法在TCP连接上使用AG_RECV接收数据,不知为何我可以正常使用的,但以后尽量避开使用,有一个特别难受的问题我也是踩坑得出。
譬如:使用AG_RECV接收的数据接收到一个DB区域,譬如我接收到
P#DB2050.DBX3540.0 BYTE 58
如果我收到的数据是60位,怎么办?当然这得提前做好,不能够接收区域比字节长度短吧!
如果我收到的数据是1位呢,那你整个数据区域全都是这一位。
如果是两位,会自然填充,直到填满。所以,有两种解决方案:
一、接收到数据立刻转移并清空该区域数据。
二、保证数据长度一致。
AG_SEND/AG_RECV系列指令使用至此算是完成。更多坑仍需摸索。
如有错误欢迎指正。
[西门子/博途]关于FC5/50,FC6/60的一些经验坑相关推荐
- tiav15安装重启_西门子博途TIA Portal V15.1安装无限重启和.net3.5SP1错误处理
这里给大家分享一下西门子博途TIA Portal V15.1的安装,其中很多朋友在安装过程中会遇到很多问题无法解决.这里一一说明. 一.安装电脑要求 下面是我的电脑 电脑要求 硬件要求:TIA软件主要 ...
- 西门子博途1200码垛机、立体仓库程序(带注释),程序应用到 变频器、触摸屏、步进电机、工业机器人、视觉相机。
西门子博途1200码垛机.立体仓库程序(带注释),程序应用到 变频器.触摸屏.步进电机.工业机器人.视觉相机.
- 西门子博途V15.0安装更新包UPD4时遇到版本不一致的提示问题及处理对策
虽然西门子博途软件TIA portal V16已经出来了,但是个人还是在用V15.0,毕竟做维护的,不像搞设计的大佬们要求那么高,V15完全够用了,因为在18年11月份,V15.0也出来了第四次更新包 ...
- 西门子博途软件TIA PORTAL不同版本安装在一台电脑上的个人总结
关于西门子博途软件TIA PORTAL不同版本同时安装在同一台电脑上的个人总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 个人开始使用博途软件 ...
- TIA西门子博途V17安装教程及注意事项
TIA西门子博途V17安装教程及注意事项 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 前提条件: TIA Portal V17需要.Net Fr ...
- 西门子博途1500双驱同步,伺服同步运行程序,3轴码垛博途程序,scl项目,同步轴走PN工艺对象
西门子博途1500双驱同步,伺服同步运行程序,3轴码垛博途程序,scl项目,同步轴走PN工艺对象,其他两轴走Epos控制,PN通讯,程序90%采用scl编程,大量成熟功能块重复调用,结构化编程,结构框 ...
- Factory IO仿真工厂与西门子博途软件联动仿真
Factory IO仿真工厂与西门子博途软件联动仿真!id=642931666086&
- 西门子博途v16系统要求_【技成周报30期】西门子系列常见问题答疑汇总
更多精彩,请点击上方蓝字关注我们!西门子S7-200SMART PLC问题▲▲▲ 问:STEP 7-MicroWIN SMART编程软件当中符号表地址I0.0下面红色波浪线是什么原因? 答:说明该地址 ...
- 面向新手的西门子博途软件常用功能介绍
大家都知道西门子博图软件功能强大,但是它的操作界面对于新手也是比较复杂的,菜单栏.工具栏.右键菜单.对话框等比较多.刚刚开始使用这款软件的新手,基本上都会遇到各种各样操作上的问题,很多人遇到一个红色波 ...
最新文章
- 如何选择分布式系统(区块链)协议?
- 影院平台搭建 - (2)FLV发布系统的简单搭建
- 视觉SLAM十四讲学习笔记-第一讲
- 全球首家!比亚迪宣布停止燃油汽车整车生产
- Python windows serial
- matlab2c使用c++实现matlab函数系列教程-wilkinson函数
- python 字节字符串_Python字符串转换为字节,字节转换为字符串
- 【SQL基础】SQL增删改查基本语句
- 倾向值匹配法的概述和应用+倾向值分析:统计方法与应用
- 开发者如何了解技术前沿? 再也不用看微信公众号的软文了!
- 干货 | SQL 进阶技巧
- 计算机安全模式还原系统,Win10电脑安全模式怎么还原系统?Win10电脑安全模式还原系统方法步骤...
- linux系统weblogic安装及简单使用
- 零基础新手小白学编程必会的100个代码
- 小岳岳吐槽房子隔音差:买房小心隔墙有耳
- 关于配置文件 @project.version@ 在多模块环境下获取不到本模块值的问题解决方案
- 随笔 数据库敏感数据加密存储
- 读取jar中MF文件以及pom.xml中的版本号
- 低碳数字城市和区块链:城市-社区-家庭
- 【音视频】srs直播平台搭建