編碼器是18位,modbus輸出的多圈絕對值編碼器,編碼器輸出從0-2的18次方這個(gè)數值。加計數的時(shí)候,到了最大值又從0開(kāi)始計數。減計數的時(shí)候,到了0之后又從2的18次方開(kāi)始減計數。
在減計數的時(shí)候,我想得到負數,請問(wèn)這個(gè)有什么辦法能判斷。上位機用的是觸摸屏讀取的,沒(méi)有PLC,觸摸屏有C語(yǔ)言的宏,請問(wèn)C語(yǔ)言怎么判斷數值從0變成2的18次方。
我的想法是宏程序里面做一個(gè)差值,如果上次的數值和這次的數值的差值超過(guò)一定值時(shí)認為是過(guò)圈了
還有其他好的辦法嗎?