偶是天寧寧
級別: 探索解密
![]() |
之前一部分程序調(diào)試都差不多了 因?yàn)闄C(jī)器頂出兩個(gè)軸承,頂桿退回的時(shí)候會(huì)把軸承帶出來, 于是設(shè)法讓模板移動(dòng)1到2個(gè)毫米, 把軸承卡住,再退回頂桿. 想著改一下程序就十幾分鐘. 結(jié)果沒有想到,簡直一個(gè)大坑,這也不行那也不行. 數(shù)據(jù)處理出現(xiàn)稀奇古怪的事情,想想之前測試的時(shí)候, 正負(fù)數(shù)電機(jī)正反轉(zhuǎn)都好好的,正兒八經(jīng)用到的時(shí)候, 幺蛾子是一個(gè)又一個(gè),沒完沒了. ![]() 滾珠絲杠滑臺(tái),在X軸當(dāng)前位置移動(dòng)2mm, 當(dāng)前位置存儲(chǔ)在D230,數(shù)據(jù)類型32位浮點(diǎn)數(shù),設(shè)置參數(shù)=300 移動(dòng)數(shù)據(jù)存儲(chǔ)在D252,數(shù)據(jù)類型32位浮點(diǎn)數(shù), 執(zhí)行指令DSUB D230 D252 D182 也就是300-2=298 監(jiān)看狀態(tài)數(shù)據(jù)D230變成1133903872,D252變成1073741828. D182得出60162044. 莫名其妙。 下面DEDIV D182 D264 D184更加離譜 D182居然和上面不一樣,變成了8.816e-037 這些數(shù)據(jù)我都不知道怎么冒出來的. |
---|---|
|
hstec2002
級別: 論壇先鋒
![]() |
數(shù)據(jù)類型是浮點(diǎn)數(shù),運(yùn)算又用DSUB,當(dāng)然是這樣。 |
|
---|---|---|
本帖最近評分記錄:
|
飛龍舞天
級別: 略有小成
![]() |
浮點(diǎn)數(shù)就得用浮點(diǎn)運(yùn)算指令,不能用普通運(yùn)算指令 |
---|---|
本帖最近評分記錄: |
rongbing
級別: 論壇先鋒
![]() |
運(yùn)算法則不對,當(dāng)然結(jié)果就不對,很正常,不要老想著,是plc的問題 |
---|---|
本帖最近評分記錄: |
15811806196
級別: 略有小成
![]() |
第一行是整數(shù)運(yùn)算,下面的是浮點(diǎn)運(yùn)算,即使是同一個(gè)寄存器當(dāng)然顯示的結(jié)果也不一樣 |
---|---|
本帖最近評分記錄: |
congrikunge
級別: 家園?
![]() |
你自己指令用錯(cuò)了 而已。。。 |
---|---|
本帖最近評分記錄: |
17312588730
級別: 探索解密
![]() |
是的,第一行就錯(cuò)了 |
---|---|
本帖最近評分記錄: |
feifei23728
級別: 略有小成
![]() |
用的全都是軟元件地址,不區(qū)分類型的。而且進(jìn)給值和當(dāng)前值盡量用DINT,運(yùn)算的時(shí)候用FLOAT不損失精度,最終還是要轉(zhuǎn)換為DINT給電機(jī),如果用標(biāo)簽?zāi)鼙苊忸愋偷膯栴},用錯(cuò)了有提示 |
---|---|
本帖最近評分記錄: |
hgz284631157
工控小君
級別: 家園?
![]() |
正解 |
---|---|
|