風之鈴音
人法地,地法天,天法道,道法自然~
級別: 探索解密
|
前幾天領導布置下來任務,說原來轉速控制精度不夠,要求至少能達到小數點后一位,于是我就開始琢磨這個問題,并參考了《高手請指教觸摸屏問題》一帖中諸位高手的建議,并在YMMFA的幫助下解決了部分問題,現在將已解決和未解決的問題一并放在這里,希望能有路過的高手幫忙解決,萬分感謝!也希望遇到類似問題的朋友可以有所借鑒,大家一起交流提高。先說已解決的問題,在GT Designer2中把數據長度設置成32位,小數位置自動調整選中,這時GOT1000上可以輸入帶小數點的浮點數,但傳到PLC里的還是整數,例如輸入11.2,觸摸屏上顯示11.2,傳到PLC中的數據寄存器里卻還是112,于是我設置了個中間寄存器來進行運算處理,DIV D650 K10 D600,這時候D600里存的是整數11,D601里存的是余數2(這里其實也就是小數部分),本來我還想分開處理,后來YMMFA告訴我應該轉成二進制然后用EDIV來進行二進制浮點運算,處理完后再轉回十進制,也就是說三菱的FX2N的PLC必須轉成二進制才可以進行浮點數運算,在此十分感謝YMMFA的幫助!現在仍存在的問題是,我用SPD X000 K3000 D106取電機的轉速顯示到觸摸屏上,齒輪有20個齒,領導給的要求是要精確到小數點后一位,但SPD好像不支持浮點數,那該如何解決呢?麻煩諸位高手在百忙之中能夠抽空賜教,萬分感謝!:) |
|
---|---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
“說原來轉速控制精度不夠,要求至少能達到小數點后一位” 1,如果用一圈1000個脈沖的編碼器,那么一個脈沖是0.001 圈 2,然后用SPD指令得到單位時間的脈沖量 3,把得到的數值放到到D10(用MUL指令),觸摸屏上小數點選擇2位 4,這樣,PLC里的D10是1230個脈沖,在屏上就是1.230 圈 5,有的時候,可能要把PLC里的D10放大10倍 |
|
---|---|---|
本帖最近評分記錄:
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
如果編碼器是360度這樣的,不好計算,要用DIV 收到的脈沖=D1 DIV D1 K360 D2 D2 是圈數 如果計算超過了32767 需要用32位的指令,比如DDIV 有的時候,適當把脈沖數*10,或者100 這樣比較好 FX1S,FX1N不能計算小數點,比如12.38 但乘100后就是1238,這樣就可以了,屏上設置2位小數點,就是12.38顯示出來。 ````````````````````````````````````````````````````````````````````````````````````````````` FX2N根據每人的編程習慣,用EDDIV,就可以算出有小數點的數值,可以實驗“EDDIV K7 K8 D0”看效果 |
|
---|---|---|
|