最新天堂中文在线丨午夜嘿嘿嘿影院丨亚洲国产精品高清久久久丨中文字幕人成乱码熟女app丨www91亚洲丨97成人资源丨成人中文字幕+乱码+中文字幕丨一区二区三区在线 | 日丨日韩免费大片丨亚洲欧美一区二区三区丨国产在线观看a丨亚洲成人第一区丨国内免费视频成人精品丨亚洲综合色网站丨午夜精品美女久久久久av福利丨国产午夜人做人免费视频网站丨国产又黄视频丨97se狼狼狼狼狼亚洲网丨狠狠亚洲婷婷综合色香五月丨中国一级毛片黄丨国产女人十八毛片丨国产色视频在线播放丨国产亚洲精久久久久久无码苍井空丨天天摸日日摸爽爽狠狠丨久久综合香蕉国产蜜臀av

dyxlfl
級別: VIP會員

精華主題: 0
發帖數量: 213 個
工控威望: 443 點
下載積分: 1489 分
在線時間: 326(小時)
注冊時間: 2006-11-10
最后登錄: 2025-07-14
查看dyxlfl的 主題 / 回貼
樓主  發表于: 2024-08-19 11:32
做了宏數據比較輸出數據格式是32 bit  unsigned 和32 bit  BCD,總是不能準確按對應得進行比較數據0/1,那位高手幫忙看看,問題出那里了,謝謝

macro_command main()

unsigned int   AAR0,AAR2,AAR4,AAR6, RW180,RW182,RW184,RW186,RW20,RW22,RW26

float      ss,ss1,RW,RW6



  
short Alarm[66]    
short pv[66]   //設置函數范圍


bool on=1,off=0    //設置狀態函數形式
bool btt1,btt2    //設置狀態函數形式


GetDataEx(AAR0, "Mitsubishi FX5U ", D, 618, 1)                                   //   32  bit  BCD數據格式
GetDataEx(AAR2, "Mitsubishi FX5U ", D, 630, 1)                                       // 32  bit   BCD數據格式
GetDataEx(ss, "Mitsubishi FX5U - Binary Mode (Ethernet)", D, 620, 1)     // 32 bit  unsigned數據格式

GetDataEx(RW180, "Local HMI", RW, 610, 1)    
GetDataEx(RW182, "Local HMI", RW, 614, 1)    
GetDataEx(RW, "Local HMI", RW, 620, 1)  

SetData(AAR0, "Local HMI", LW, 190, 1)                  
SetData(AAR2, "Local HMI", LW, 192, 1)                    
SetData(ss, "Local HMI", LW, 194, 1)
                 //轉發到HMI  
AAR6=( AAR0+ RW180)
RW186=( AAR2+ RW182)
RW182=( SS+ RW)

SetData( AAR6, "Local HMI", LW, 610, 1)
SetData( RW186, "Local HMI", LW, 614, 1)
SetData( RW182, "Local HMI", LW, 616, 1)


if (AAR2 < RW20)then          
  btt2=0
  else
  SetData(btt2, "Local HMI", LB, 867, 1)
  
  
end if

if (AAR2 > RW20)then
  btt2=1
  else
  SetData(btt2, "Local HMI", LB, 867, 1)
  
  
end if




if (AAR0 < RW22)then                      
   btt1=0
   else
  SetData(btt1, "Local HMI", LB, 866, 1)
  
end if

if (AAR0 > RW22)then
  btt1=1
  else
  SetData(btt1, "Local HMI ", LB, 866, 1)
  
end if



end macro_command
[ 此帖被dyxlfl在2024-08-19 18:05重新編輯 ]