技术论坛

 LAxisCtrl_DBAnyBased库的补充

返回主题列表
作者 主题
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) 功能块进行编写就行了。

实现原理就不赘述了。


程序结构如下:


程序代码如下:


SaiAxisCtrl_AxisData.TXT


此程序代码内包含 1个FB 3个FC。

使用方式如下:

首先代码段复制到文本文件中,保存后更改文本文件后缀为**.SCL**,展开项目树中的PLC,找到外部源文件,双击添加外部源文件,选择此文件,添加成功后右键此文件,单击从源生成块。




我的梦想 世界和平;上帝:??? 改变小企业行业现状;工控大佬:???
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。