yangchunyao
级别: 正式会员
精华主题: 0
发帖数量: 3 个
工控威望: 92 点
下载积分: 599 分
在线时间: 7(小时)
注册时间: 2014-09-26
最后登录: 2016-06-16
查看yangchunyao的 主题 / 回贴
楼主  发表于: 2015-07-22 12:06
最近在做一个触摸屏直接通过MODBUS控制变频器频率的程序,通过宏指令把实际的工程值转换成变频器的频率,比如线速度10M/S转换成50HZ,下面是宏指令,在触摸屏上设置3个数值元件,地址分别是LW0,LW1,LW2,LW2对应的数值元件用来显示计算结果,请问怎么把计算的结果写入变频器,变频器主频率给定的地址是0x6203,谢谢。
macro_command main()
short a[3]
GetData(a[0], "Local HMI", LW, 0, 2)
a[2]=a[0]*a[1]
SetData(a[2], "Local HMI", LW, 2, 1)
end macro_command
本帖最近评分记录:
  • 下载积分:+1(离亭晚)
    yangchunyao
    级别: 正式会员
    精华主题: 0
    发帖数量: 3 个
    工控威望: 92 点
    下载积分: 599 分
    在线时间: 7(小时)
    注册时间: 2014-09-26
    最后登录: 2016-06-16
    查看yangchunyao的 主题 / 回贴
    1楼  发表于: 2015-07-22 23:00
    引用
    引用第2楼moder7364于2015-07-22 16:24发表的  :
    macro_command main()
    short a[3]
    GetData(a[0], "Local HMI", LW, 0, 2)
    a[2]=a[0]*a[1]
    SetData(a[2], "Local HMI", LW, 2, 1)
    .......

    谢谢,根据你的方法问题已经解决了。
    yangchunyao
    级别: 正式会员
    精华主题: 0
    发帖数量: 3 个
    工控威望: 92 点
    下载积分: 599 分
    在线时间: 7(小时)
    注册时间: 2014-09-26
    最后登录: 2016-06-16
    查看yangchunyao的 主题 / 回贴
    2楼  发表于: 2015-07-22 23:02
    引用
    引用第1楼ajiang_th于2015-07-22 13:39发表的  :
    那有那么麻烦,想必用了触摸屏的话一定也用了PLC吧,我曾经做过这样的控制很简单,只要用触摸屏把要写到变频器的参数输入到PLC的暂存器里,然后通过PLC的MODBUS指令把参数直接写到变频器上就可了很方便。不用做任何转换,读取也同样方便,只要反过来就可以了。不过我用的是汇川的PLC,汇川的PLC有很方便的MODBUS指令,在程序里也是直接指定就可以搞定了。不仿试试我的这个方法,根本用不着难懂的宏指令。

    没办法,为了节约成本,把PLC省掉了