找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
根据FIFO原则在环形缓冲器临时存储接收到的数据并传给用户接口
https://support.industry.siemens.com/cs/document/16825843
功能和样例:缓存测量值的“FIFO”
https://support.industry.siemens.com/cs/document/8685494
报文长度:是一个FIFO单元的长度,由UDT 1 的长度决定。
报文数目:和能存进FIFO的单元的数目一致。
可能的报文数目由FB 2 中的静态变量“FIFO_Buffer”的定义决定。
图 1: FIFO存储器的操作模式总览。
详细描述:
DB 1:报文接收DB
将要接收的报文,特别是经过通信连接,例如PtP接口,收 到的报文归档在叫报文接收DB的数据块内。报文接收DB的长度和结构必须与报文的长度和结构一致。报文接收DB基于UDT 1 (用户定义数据类型)并可按需修改。
这个程序实例中的UDT 1 定义如下:
报文标识: 0D HEX,数据类型“BYTE”。常量 0D HEX 必须先被占用。
日期和时间(和平日):数据类型“DATE_AND_TIME”,8 字节长。日期和时间在时钟周期可被S7 300 CPU用SFC 1 “READ_CLK”读出一次。
使用数据:数据类型“STRING” 在可用实例中为20字节。字符串的长度可以按需修改。
DB 2:FB 2的情景数据块,包括FIFO环形缓冲器
包括两方面:
声明部分包括用在FB 2中的参数和变量。
FIFO环形缓冲器, 由一个带“UDT 1”类型的数据元素的域组成。域名为“FIFOBuffer”。& nbsp;
通常,为了充分地测试操作模式,组件的数目设置为7。请打开LAD/FBD/STL编辑器中的FB 2 ,然后在变量总览中选择静态变量“ FIFOBuffer”来改变此值。
通过右键快捷菜单打开属性对话框,选择菜单项“Variable properties”。
这行“Data Type”可以定义域长度和可能的FIFO输入的数目和使用的数据结构。
每次改变之后,请不要忘记更新FC 2中FB 2的调用。这会通过“块一致性校验”执行。
图2:定义FIFO存储器的属性对话框 (变量“FIFOBuffer”)
DB 3:用户程序的接口
DB 3是DB 1只带字节长度的变量拷贝(同样对“DATE_AND_TIME”变 量)。这使得可在数据块中直接监控接收到的数据。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!