91黄动漫 I 欧美 日韩 国产 成人 在线 I a级成人毛片 I 农村黄色片 I 男生捅女生的肌肌 I 精品99一区二区三区 I 妃光莉av I 日日夜夜操操 I 性中国古装videossex I 久久不卡av I 美女高潮动态图 I 极品美女开粉嫩精品 I 牛牛精品一区二区 I 91精品福利视频 I 成人刺激视频 I 91国内精品视频 I 中国一级特黄毛片大片 I 校长狠狠挺进校花体内小说 I 欧美激情黄色片 I 欧美久久久一区 I 爱豆国产剧免费观看大全剧苏畅 I 麻豆国产人妻欲求不满谁演的 I 亚洲一区二区在线免费观看视频 I 国产超碰av人人做人人爽 I 精品国产第一国产综合精品 I 久久免费看av I 欧美一区二区三区白人 I 国产精品夫妻激情 I 校花被肉干高h潮不断 I 欧美最猛黑人xxxx黑人表情 I 国产欧美日韩一区二区搜索 I 极品女神露脸呻吟啪啪 I 人人天天久久 I 亚洲动漫在线 I 日本91福利区 I 五月天 桃色 开心 I av在线免费观看国产 I 男人添女人的免费视频 I 夜夜穞天天穞狠狠穞

一路向前hg
相互學習,共同進步!
級別: 略有小成
精華主題: 0
發帖數量: 226 個
工控威望: 303 點
下載積分: 917 分
在線時間: 145(小時)
注冊時間: 2019-12-07
最后登錄: 2025-08-28
查看一路向前hg的 主題 / 回貼
樓主  發表于: 2024-07-16 09:36
各位工控友友,有做過總線通訊ABB機器人通訊負數的案例嗎,想半天沒想到怎么轉換。浮點數倒簡單,總線通訊給整數 ABB側除100給num數據就可以了,但負數沒想到怎么處理,求大神解
斗志不能低
快樂修狗
級別: 正式會員
精華主題: 0
發帖數量: 12 個
工控威望: 57 點
下載積分: 2144 分
在線時間: 30(小時)
注冊時間: 2023-02-07
最后登錄: 2025-12-04
查看快樂修狗的 主題 / 回貼
1樓  發表于: 2024-07-16 16:50
加一個符號位,if 負數  then   Y=0-X  else  Y=X
樓主留言:
感謝分享!
葉上初陽
級別: 正式會員
精華主題: 0
發帖數量: 47 個
工控威望: 94 點
下載積分: 162 分
在線時間: 21(小時)
注冊時間: 2024-03-08
最后登錄: 2025-12-02
查看葉上初陽的 主題 / 回貼
2樓  發表于: 2024-07-17 08:31
簡單點的用IF判斷個大于0小于0,大于零直接輸出,小于0用abs做個絕對值輸出,再輸出個正數負數信號,到了輸入端再轉換正負數。復雜點應該不用另外另外加正負信號,得把正負數用byte表示,轉換成二進制做個bit的移位,前邊設置一個判斷正負,之后用01表示正負值移位保存到byte里,再轉換回到十進制,應該不會超出組信號的表示范圍,想到了這么個法子,不知道行不行,我一會試試去。
樓主留言:
熱心助人!
學而不思則罔,思而不學則殆。我學學學學學學  桀桀桀~~~
葉上初陽
級別: 正式會員
精華主題: 0
發帖數量: 47 個
工控威望: 94 點
下載積分: 162 分
在線時間: 21(小時)
注冊時間: 2024-03-08
最后登錄: 2025-12-02
查看葉上初陽的 主題 / 回貼
3樓  發表于: 2024-07-17 10:12
不用byte打包數據,多此一舉,直接移位就行,組輸出范圍不夠擴一下。
      IF a_num_test1>=0 THEN
            b_num_test1:=0;
            c_dnum_test1:=BitLShDnum(NumToDnum(b_num_test1),12);
            c_dnum_test1:=BitOrDnum(c_dnum_test1,NumToDnum(a_num_test1));
            d_num_test1:=DnumToNum(c_dnum_test1);
            SetGO io_gout_num,d_num_test1;
      ELSE
            b_num_test1:=1;
            c_dnum_test1:=BitLShDnum(NumToDnum(b_num_test1),12);
            e_num_test1:=Abs(a_num_test1);
            c_dnum_test1:=BitOrDnum(c_dnum_test1,NumToDnum(e_num_test1));
            d_num_test1:=DnumToNum(c_dnum_test1);
            SetGO io_gout_num,d_num_test1;
      ENDIF
大概這么個意思,只需要一個信號,不需要分正負兩種信號輸出。但是相當于做了個編碼,得在PLC端解碼。
樓主留言:
好貼好貼!
本帖最近評分記錄:
  • 下載積分:+1(撿到一塊錢) 熱心助人!
  • 學而不思則罔,思而不學則殆。我學學學學學學  桀桀桀~~~