设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
基于西门子 TIA V18轴控制的标准化和模块化编程 ...
返回列表
发新帖
[西门子]
基于西门子 TIA V18轴控制的标准化和模块化编程
[复制链接]
93823
|
0
|
2024-12-12 08:53:35
|
显示全部楼层
|
阅读模式
今天分享轴的标准化模块化编程:
意味着可以用一个程序块实现对任意类型轴的集中控制 (如使能、点动、定位、同步等)。
~
用户可以选择西门子提供的LAxis_DBAnyBased标准应用库,也可以自己编程来实现。由于要操作的轴有各种类型(速度轴、定位轴、同步轴),因此块的形参不能固定为某种TO类型,而是采用更为灵活的数据类型“DB_ANY”。
TO的数据结构具有嵌套性,例如速度轴是定位轴的一部分,定位轴是同步轴的一部分。当某个运动指令参数“Axis”的数据类型最低层级为“TO_SpeedAxis”时,允许使用高层级数据类型为“TO_PositioningAxis”和“TO_SynchronousAxis”的变量进行赋值。
然而当使用“DB_ANY”来传递值时,轴的类型必须和该指令要求的最低层级的类型一致,否则就要先做类型转换,如下图所示。总之程序处理还是有些繁琐的。
从博途V18开始,新增了一种“REF_TO”数据类型,编程就大大简化了。以实现所有类型轴的使能为例,我们只需执行以下步骤:
在用户FB中创建Temp变量,数据类型为“REF_TO TO_SpeedAxis”尝试将“DB_ANY”类型的变量赋值给这个参考变量 判断赋值结果不为空,则调用MC_Power
此外,通过“REF_TO”还可以方便地访问TO的系统变量,例如读取一个轴的速度,这是以前单纯使用“DB_ANY”做不到的。
(注意:里面用到的SCL表达“^” (dereferencing)是读写指向的变量时必须使用的。)
按照用法规定,REF_TO只能使用FB的临时变量区,因此编程时需注意重新赋值。
对于TO寻址您还有什么建议?欢迎大家留言。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
ding2854
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』