張工學(xué)plc
三菱FX3U 信捷XD/XL 臺(tái)達(dá) 西門子1200
級別: 探索解密
|
圖片:
想問下超過33怎么轉(zhuǎn)化啊 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
信捷的四則運(yùn)算的結(jié)果占用空間會(huì)翻倍,所以不可能出現(xiàn)溢出錯(cuò)誤。 但是連續(xù)計(jì)算怎么搞呢? 比如前級計(jì)算結(jié)果超出乘數(shù)的字節(jié)數(shù),或者計(jì)算結(jié)果干脆是負(fù)數(shù) 翻了下手冊,沒找到信捷雙字整數(shù)轉(zhuǎn)單字整數(shù)的指令,這應(yīng)該是很基本的指令吧 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
轉(zhuǎn)不了就不操作并置報(bào)警位唄,其他品牌plc都這樣做的呀。 雙字轉(zhuǎn)單字是剛需,自己轉(zhuǎn)的話,要同時(shí)做值是否超出單字,是否是負(fù)數(shù)的判斷,負(fù)數(shù)的雙字轉(zhuǎn)單字有點(diǎn)麻煩,程序有點(diǎn)復(fù)雜。應(yīng)該是直接提供指令,畢竟單字轉(zhuǎn)雙字那么簡單都有指令 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
32位乘輸出的是64位數(shù)據(jù),后繼全用32位指令也是有風(fēng)險(xiǎn)的。 C語言里16位乘積超限是怎么個(gè)處理方式?是報(bào)錯(cuò)停止運(yùn)行,還是直接僅取低字,還是給出限值 |
---|---|
|
陽春節(jié)拍
級別: 探索解密
|
取二維表的某個(gè)地址,偏移量需要使用行號乘以總列數(shù)再加上列號,,,16位乘后變成了32位,你怎么加16位的列號?加完了,需要使用字偏移,你雙字的偏移數(shù)怎么用? 在主程序中絕對不溢出時(shí)能直接將32位數(shù)絕對地址當(dāng)16位數(shù)絕對地址用,你在pou梯形圖里怎么辦?pou里邊絕對地址和變量是不能混用的,16位和32位混用更不可能 別家plc不但提供雙字到字的轉(zhuǎn)換,甚至西門子還提供有由指令來決定數(shù)據(jù)是字節(jié)、字還是雙字的AC地址區(qū)(跟信捷的數(shù)值是字或雙字由指令來決定一樣) |
---|---|
|