威纶通官方论坛

请教:要做一个手动连续输出的量怎么做?谢谢

[复制链接]
发表于 2014-2-19 15:39:34 | 显示全部楼层 |阅读模式
本帖最后由 30013576 于 2014-2-19 15:42 编辑

需要手动输出0.0~100.0,希望屏上“增加”按扭用手按住不放时,连续向一个地址写数值0~1000。
现在用宏指令,
  1. bool addstate //按键状态指示
  2. unsigned short out1man, addtimes

  3. GetDataEx(out1man, "MODBUS RTU", 4x, 259, 1)
  4. GetData(addtimes, "Local HMI", LW, 10, 1)
  5. GetData(addstate, "Local HMI", LB, 0, 1)

  6. while addstate

  7. if out1man < 1000 then
  8.   out1man=out1man + 1
  9.   SetDataEx(out1man, "MODBUS RTU", 6x, 387, 1)  //out1man输出值写入手动输出地址
  10.   GetData(addstate, "Local HMI", LB, 0, 1)
  11.   addtimes=addtimes+1    //addtimes,查看写入次数。
  12.   SetData(addtimes, "Local HMI", LW, 10, 1)
  13. end if

  14. wend
复制代码
在线模拟效果还行,但屏上效果很不好。写得太慢,经常1-2秒才加一次,怎么才能加快执行速度?或者有什么别的思路?谢谢
PLC地址整段间隔、最大读取字数,最大写入字数这些都调小过,没什么效果。
发表于 2014-2-21 09:35:34 | 显示全部楼层
宏指令是怎么触发的,可以选在在4号公共窗口放置一个位状态设置元件来触发宏指令,周期可以设置为0.1秒。
 楼主| 发表于 2014-2-21 09:54:15 | 显示全部楼层
本帖最后由 30013576 于 2014-2-21 10:00 编辑

多谢aligashiya大哥指点。
宏指令是用一个位状态设置元件(复归型,按住置LB0=1(addstate=1),同时触发宏指令)触发的,准备把这个元件做成“增加”按键。
test滑块MTP1.rar (11.39 KB, 下载次数: 555) ,需要写入的这个地址是只写的,所以有点啰嗦。
 楼主| 发表于 2014-2-25 12:58:16 | 显示全部楼层
自己顶一下。
 楼主| 发表于 2014-3-5 10:01:13 | 显示全部楼层
再顶一次。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-30 01:38

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表