加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TIAv16环境下再次学习练习STL-18计数器指令

(2024-01-14 17:43:38)
标签:

西门子

tia

stl编程

计数器指令

分类: 西门子软硬件
继续学习TIA环境下STL编程,这一篇开始计数器的练习,依然是在前面的基础上做程序。
新增一个数据块,类型为IEC_Counter,这表示数据类型为INT的计数器,计数范围是-32768~32767,这个范围应该是够了,如果有其他需求,还有其他几种计数器数据类型,分别如下表:
 整数类型  计数器背景数据块类型  数据范围
 SINT有符号短整型  IEC_SCOUNTER  -128~127
 INT有符号整型  IEC_COUNTER  -32768~32767
 DINT有符号双整形  IEC_DCOUNTER  -2147483648~2147483647
 LINT有符号长整型  IEC_LCOUNTER  -9223372036854775808~9223372036854775807
 USINT无符号短整型  IEC_USCOUNTER  0~255
 UINT无符号整型  IEC_UICOUNTER  0~65535
 UDINT无符号双整型  IEC_UDCOUNTER  0~4294967295
 ULINT无符号长整形  IEC_ULCOUNTER  0~1844674407309551615
新建数据块如下
TIAv16环境下再次学习练习STL-18计数器指令
可以看到这个背景数据块是放在程序资源下面的,和其他全局数据块位置不一样
TIAv16环境下再次学习练习STL-18计数器指令

新建变量C1和C2以及计数器其他变量
TIAv16环境下再次学习练习STL-18计数器指令

添加STL程序段,写CALL CTU,可以看出TIA自动给你列出选项,这里选择CTU,加计数器,按下回车键,
TIAv16环境下再次学习练习STL-18计数器指令
下面会看到结构已经搭建好
TIAv16环境下再次学习练习STL-18计数器指令
双击???位置,可以看到可选下拉列表,选择整型INT
TIAv16环境下再次学习练习STL-18计数器指令
会立即弹出对话框,询问是新建一个背景数据块,还是使用现有的背景数据块。由于前面已经建立了一个背景数据块,就选前面建立的。
TIAv16环境下再次学习练习STL-18计数器指令
按下确定按钮
TIAv16环境下再次学习练习STL-18计数器指令

如果熟悉语法,也可以直接书写
CALL CTU,"整型加计数器数据块"
接下来填写后面的内容划波浪红线的是必填项目,其他的是选填项目,编译下载
TIAv16环境下再次学习练习STL-18计数器指令

让C1_CU产生一个上升沿,可以看到计数器+1
TIAv16环境下再次学习练习STL-18计数器指令

给C1_R一个上升沿,计数器复位为0
TIAv16环境下再次学习练习STL-18计数器指令

给计数器C1设置一个PV值,比如为3,给C1_CU一个上升沿变化,计数器+1,只有当CV值≥PV值,Q才会有输出1.前面默认PV为0,所以一直输出为1
TIAv16环境下再次学习练习STL-18计数器指令
如果R一直为1,那么即使CU出现上升沿,CV数值不会变化
TIAv16环境下再次学习练习STL-18计数器指令















0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有