技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > ★想用STL写一个类似TI-S7 Library FC84“ATT”功能的程序★

★想用STL写一个类似TI-S7 Library FC84“ATT”功能的程序★

刘玉蓉 发布于2014-12-01 17:29 186 0 标签:

举个例子,DB1中我开发了100个WORD类型数据,初始值为0。当我I0.0按下时我想在DB1.DBW0里赋值1,I0.1按下时在DB1.DBW2里赋值2,I0.2按下时在DB1.DBW4里赋值3……以此类推,I0.0、I0.1、I0.2……是点动按钮要求只能保持一个扫描周期(要用到上升沿指令),如果按了I0.0两次就要求DB1.DBW0和DB1.DBW2都为1,以此类推。输入点有100个,请问这样的程序该怎么写?输入点按下的次数是小于等于100,因为DB区只开发了100个字!

佳答案

你可以做一个LOOP,检查100个bit的位状态:
当检测到位1的时候执行,根据检测到的位算出应该赋值为几,赋值前先检查该地址了是否已经存放了该数据,如果存放了就地址偏移1个字,计数加1,这个程序应该挺简单的,哈哈~~~~
1.比如现在是I3.5,应该输入3*8+5+1=30,偏移的地址应该是(3*8+5)*2 WORD
2.怎么检查是第1次还是第N次输入,可以给每个点的上升沿都计数都不难。建一个int的数组,还是变址寻址。根据每个点记录的次数,可以算出要偏移多少个word重复写。

你没说清楚是否可以覆盖数据:比如I0.0输入了两下,那么I0.1输入的时候数据是否存在DB1.DBW2.

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签