caoyougang
貓貓工控
級別: 略有小成
|
吐槽一下信捷觸摸屏的MODBUS,寄存器無法設(shè)置只讀或者只寫,必須是讀寫,對于小眾變頻器,有些寄存器只能寫不能讀,觸摸屏立即報通訊故障,無法正常使用,所有辦法都不能解決,信捷也解決不了,客戶又指定信捷觸摸屏,氣人。 只寫寄存器 |
|
---|---|---|
|
ren1823
級別: 工控俠客
|
圖片:
應(yīng)該是這個寄存器地址只接受數(shù)據(jù),并不返回結(jié)果,所以觸摸屏報通訊失敗。這種情況下得用觸摸屏的單獨數(shù)據(jù)發(fā)送的相應(yīng)函數(shù),使觸摸屏只對設(shè)備發(fā)數(shù)據(jù)無需反饋 |
---|---|
|
caoyougang
貓貓工控
級別: 略有小成
|
折騰了一通,很難用,還是放棄了,換別的方案,信捷函數(shù)也不能模擬,大部分的通訊也不能仿真,真的非常讓人無語,遇到類似問題的朋友可以用下列方式解決,不到萬不得已不建議。 BYTE snd[8]; WORD check; snd[0]=0x01; snd[1]=0x06; snd[2]=0x48; snd[3]=0x00; snd[4]=0xff; snd[5]=0x00; check = Crc(snd,6); snd[6]=HIBYTE(check); //high byte of crc snd[7]=LOBYTE(check); //low byte of crc Send(PLC,snd,8); Delay(1500); snd[4]=0x00; check = Crc(snd,6); snd[6]=HIBYTE(check); snd[7]=LOBYTE(check); Send(PLC,snd,8); |
|
---|---|---|
|
工控小c
級別: 工控俠客
|
自由通訊用MODBUS報文格式啊 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
不理解樓主的用法。 如果是屏函數(shù),讀和寫是不同的指令,完全可以分開。 如果是屏按鈕,信捷屏的所有寫位或字按鈕都提供有讀、寫地址分開的功能。把這兩個地方填寫不同的地址就行了。 如果是取字的位,或者是使用位組合的字,信捷屏確實沒直接提供,需要自行編寫函數(shù)。信捷屏提供那么多內(nèi)部地址,很簡單就能實現(xiàn)。 比如正轉(zhuǎn)運行為寫位,可以使用指示燈按鈕,操作對象設(shè)置為寫地址,監(jiān)控對象設(shè)置為能讀回當(dāng)前運行狀態(tài)的位。 再比如正轉(zhuǎn)運行為寫字,信捷屏沒有寫字按鈕,只有數(shù)據(jù)輸入(地址設(shè)置同上為兩個)。可以使用限制寫值的范圍來實現(xiàn)啟停。如果想要用按鈕,那就只能自行編寫函數(shù)來實現(xiàn)位組合成字再寫出 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
仔細看了下樓主的需求,變頻器確實都提供控制字,部分才提供控制位。 先說前提,為安全計,通常不建議使用通訊控制啟停,最多可使用通訊控制頻率。 信捷屏提供modbus方式的讀寫字的位按鈕,但仍沒有寫字值按鈕。 不想寫函數(shù)的話,樓主可簡單使用兩個指示燈按鈕實現(xiàn)啟停:操作對象分別高為,H2000.1對應(yīng)值2反轉(zhuǎn)運行,H2000.2對應(yīng)值6減速停機(或值4反轉(zhuǎn)點動)。注意對于控制字來說,某個位寫0并不代表關(guān)閉對應(yīng)功能。比如將H2000.1從1寫為0(控制字從2變?yōu)?),變頻器仍會正常反轉(zhuǎn)運行;此時只有再將H2000.2也寫為1才會減速停機(控制字從2變?yōu)?);之后H2000.2對應(yīng)的按鈕就是記住控制按鈕。至于監(jiān)控對象位,扒下手冊,找到反饋位或字,將對應(yīng)地址填到兩個按鈕上。 |
---|---|
|
caoyougang
貓貓工控
級別: 略有小成
|
感謝回復(fù),信捷的問題主要是必須檢查返回數(shù)據(jù),而這些變頻器某系地址是不會返回數(shù)據(jù)的,信捷檢查不到返回數(shù)據(jù),就會一直發(fā)送并提示通訊失敗,導(dǎo)致整個系統(tǒng)反應(yīng)都慢了。 |
|
---|---|---|
|