作者 | 主题 |
---|---|
iZhouSai 侠士 经验值:1404 发帖数:42 精华帖:8 |
楼主 2023-02-11 18:39:17
主题:LAxisCtrl_DBAnyBased库的补充 SIMATIC S7-1500 / S7-1500T: 标准轴控应用库https://support.industry.siemens.com/cs/document/109749348/simatic-s7-1500-s7-1500t-标准轴控应用库?dti=0&lc=zh-CN 原创内容请勿转载 在运动控制中应用DB_ANY数据类型。DB_ANY数组可以存储各种类型的数据块. 因此项目中的工艺对象的工艺数据也是可以使用的. 比如,DB_ANY数据类型的数组可以配置成一组轴信息. 在这种情况下, 工艺对象可以更灵活的在程序中完整体现。 使用过LAxisCtrl_DBAnyBased 的同仁应该知道在这个库里面是没有轴的实际位置,实际速度...等数据的,如果用常规思想,我们可以采用下述方式进行此类数据的读取: 这种方式虽然也不存在什么问题,但是如果要对LAxisCtrl库进行再次封装,那么在封装的FB内使用这种寻址方式程序的通用性就将大打折扣。同时对于我这种强迫症用户来说使用这种方式会比较难受! 既然使用了DB_ANY的方式访问了轴对象,那么同样的我们也可以使用这种方式来读取轴的其他数据,就是不明白官方为什么没有将此类块做好集成在库中。 实现方式也很简单,参照库中LAxisCtrl_AxisStatusWord (FB 30613) 功能块进行编写就行了。 实现原理就不赘述了。 程序结构如下: 程序代码如下: 此程序代码内包含 1个FB 3个FC。 使用方式如下: 首先代码段复制到文本文件中,保存后更改文本文件后缀为**.SCL**,展开项目树中的PLC,找到外部源文件,双击添加外部源文件,选择此文件,添加成功后右键此文件,单击从源生成块。
我的梦想
世界和平;上帝:???
改变小企业行业现状;工控大佬:???
|