yangchunyao
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 3 個(gè)
工控威望: 92 點(diǎn)
下載積分: 599 分
在線時(shí)間: 7(小時(shí))
注冊(cè)時(shí)間: 2014-09-26
最后登錄: 2016-06-16
查看yangchunyao的 主題 / 回貼
樓主  發(fā)表于: 2015-07-22 12:06
最近在做一個(gè)觸摸屏直接通過MODBUS控制變頻器頻率的程序,通過宏指令把實(shí)際的工程值轉(zhuǎn)換成變頻器的頻率,比如線速度10M/S轉(zhuǎn)換成50HZ,下面是宏指令,在觸摸屏上設(shè)置3個(gè)數(shù)值元件,地址分別是LW0,LW1,LW2,LW2對(duì)應(yīng)的數(shù)值元件用來顯示計(jì)算結(jié)果,請(qǐng)問怎么把計(jì)算的結(jié)果寫入變頻器,變頻器主頻率給定的地址是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
本帖最近評(píng)分記錄:
  • 下載積分:+1(離亭晚)
    ajiang_th
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 204 個(gè)
    工控威望: 330 點(diǎn)
    下載積分: 13737 分
    在線時(shí)間: 335(小時(shí))
    注冊(cè)時(shí)間: 2010-08-13
    最后登錄: 2024-09-20
    查看ajiang_th的 主題 / 回貼
    1樓  發(fā)表于: 2015-07-22 13:39
    那有那么麻煩,想必用了觸摸屏的話一定也用了PLC吧,我曾經(jīng)做過這樣的控制很簡(jiǎn)單,只要用觸摸屏把要寫到變頻器的參數(shù)輸入到PLC的暫存器里,然后通過PLC的MODBUS指令把參數(shù)直接寫到變頻器上就可了很方便。不用做任何轉(zhuǎn)換,讀取也同樣方便,只要反過來就可以了。不過我用的是匯川的PLC,匯川的PLC有很方便的MODBUS指令,在程序里也是直接指定就可以搞定了。不仿試試我的這個(gè)方法,根本用不著難懂的宏指令。
    moder7364
    緣起我在人群中看見你,緣散我看見你在人群中。
    級(jí)別: 網(wǎng)絡(luò)英雄
    精華主題: 0
    發(fā)帖數(shù)量: 183 個(gè)
    工控威望: 8044 點(diǎn)
    下載積分: 32855 分
    在線時(shí)間: 1052(小時(shí))
    注冊(cè)時(shí)間: 2013-08-31
    最后登錄: 2024-09-22
    查看moder7364的 主題 / 回貼
    2樓  發(fā)表于: 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)
    SetData(a[2], "MODBUS ASCII", 6x, 1#6203, 1)
    end macro_command
    本帖最近評(píng)分記錄:
  • 下載積分:+3(mk自動(dòng)化) 熱心助人!
    924011476
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 337 個(gè)
    工控威望: 445 點(diǎn)
    下載積分: 1278 分
    在線時(shí)間: 287(小時(shí))
    注冊(cè)時(shí)間: 2013-09-11
    最后登錄: 2023-12-19
    查看924011476的 主題 / 回貼
    3樓  發(fā)表于: 2015-07-22 17:53
    1樓的方法簡(jiǎn)單易懂,不過樓主好像沒有用PLC,學(xué)習(xí)了,謝謝。
    [ 此帖被924011476在2015-07-22 17:58重新編輯 ]
    yangchunyao
    級(jí)別: 正式會(huì)員
    精華主題: 0
    發(fā)帖數(shù)量: 3 個(gè)
    工控威望: 92 點(diǎn)
    下載積分: 599 分
    在線時(shí)間: 7(小時(shí))
    注冊(cè)時(shí)間: 2014-09-26
    最后登錄: 2016-06-16
    查看yangchunyao的 主題 / 回貼
    4樓  發(fā)表于: 2015-07-22 23:00
    引用
    引用第2樓moder7364于2015-07-22 16:24發(fā)表的  :
    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)
    .......

    謝謝,根據(jù)你的方法問題已經(jīng)解決了。
    yangchunyao
    級(jí)別: 正式會(huì)員
    精華主題: 0
    發(fā)帖數(shù)量: 3 個(gè)
    工控威望: 92 點(diǎn)
    下載積分: 599 分
    在線時(shí)間: 7(小時(shí))
    注冊(cè)時(shí)間: 2014-09-26
    最后登錄: 2016-06-16
    查看yangchunyao的 主題 / 回貼
    5樓  發(fā)表于: 2015-07-22 23:02
    引用
    引用第1樓ajiang_th于2015-07-22 13:39發(fā)表的  :
    那有那么麻煩,想必用了觸摸屏的話一定也用了PLC吧,我曾經(jīng)做過這樣的控制很簡(jiǎn)單,只要用觸摸屏把要寫到變頻器的參數(shù)輸入到PLC的暫存器里,然后通過PLC的MODBUS指令把參數(shù)直接寫到變頻器上就可了很方便。不用做任何轉(zhuǎn)換,讀取也同樣方便,只要反過來就可以了。不過我用的是匯川的PLC,匯川的PLC有很方便的MODBUS指令,在程序里也是直接指定就可以搞定了。不仿試試我的這個(gè)方法,根本用不著難懂的宏指令。

    沒辦法,為了節(jié)約成本,把PLC省掉了
    大明哥
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 122 個(gè)
    工控威望: 237 點(diǎn)
    下載積分: 841 分
    在線時(shí)間: 83(小時(shí))
    注冊(cè)時(shí)間: 2014-08-28
    最后登錄: 2016-06-27
    查看大明哥的 主題 / 回貼
    6樓  發(fā)表于: 2015-07-23 17:52
          哈哈 學(xué)習(xí)了
    大明哥
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 122 個(gè)
    工控威望: 237 點(diǎn)
    下載積分: 841 分
    在線時(shí)間: 83(小時(shí))
    注冊(cè)時(shí)間: 2014-08-28
    最后登錄: 2016-06-27
    查看大明哥的 主題 / 回貼
    7樓  發(fā)表于: 2015-07-23 17:54
    看一看威綸觸摸屏使用手冊(cè)   宏指令章節(jié)中 通訊有關(guān)的函數(shù) 這一部分