bigluo
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 387 個(gè)
工控威望: 912 點(diǎn)
下載積分: 2724 分
在線時(shí)間: 73(小時(shí))
注冊(cè)時(shí)間: 2007-12-14
最后登錄: 2021-05-15
查看bigluo的 主題 / 回貼
樓主  發(fā)表于: 2008-05-30 10:25
最近準(zhǔn)備用MT500連接松下的PLC,出于成本考慮,PLC沒有時(shí)鐘模塊,由觸摸屏在上電時(shí)將時(shí)鐘寫入到PLC的寄存器。
觸摸屏的時(shí)鐘格式是BCD碼,而松下的時(shí)鐘貯存格式是二進(jìn)制,而且是一個(gè)字里面貯存年/月兩個(gè)內(nèi)容,這樣就要使用二進(jìn)制轉(zhuǎn)換。
我的宏指令是這樣的:

Macro_Command main()
  short iYear, iMonth, iDay, iHour, iMinute, iSecond
  short iTemp
  //取得年月日
  GetData(iYear, RW_Bcdplc, 60005, 1)
  GetData(iMonth, RW_Bcdplc, 60004, 1)
  GetData(iDay, RW_Bcdplc, 60003, 1)
  GetData(iHour ,RW_Bcdplc ,60002,1)
  GetData(iMinute ,RW_Bcdplc ,60001,1)
  GetData(iSecond ,RW_Bcdplc ,60000,1)
  iTemp = 0xFF And iYear 
  SetData(iTemp ,RW_Binplc ,0,1) 
End Macro_Command

在iTemp = 0xF and iYear這一行,本來是想得到數(shù)字8的,沒想到結(jié)果竟是1!
想來想去,這是不是因?yàn)楹杲忉屍靼袮ND作為了布爾運(yùn)算符了?
這該怎樣解決呢?
謝謝了!
bigluo
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 387 個(gè)
工控威望: 912 點(diǎn)
下載積分: 2724 分
在線時(shí)間: 73(小時(shí))
注冊(cè)時(shí)間: 2007-12-14
最后登錄: 2021-05-15
查看bigluo的 主題 / 回貼
1樓  發(fā)表于: 2008-05-30 11:07
找到原因了。
原來二進(jìn)制運(yùn)算的“與”是用"&"作為標(biāo)識(shí)符的。
yinjiantc
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看yinjiantc的 主題 / 回貼
2樓  發(fā)表于: 2008-08-28 10:23
記號(hào),以后用的著
天外飛仙
級(jí)別: 工控俠客
精華主題: 2 篇
發(fā)帖數(shù)量: 337 個(gè)
工控威望: 3091 點(diǎn)
下載積分: 1984 分
在線時(shí)間: 13(小時(shí))
注冊(cè)時(shí)間: 2007-08-19
最后登錄: 2024-06-26
查看天外飛仙的 主題 / 回貼
3樓  發(fā)表于: 2008-08-29 22:00
不要這么復(fù)雜,觸摸屏有個(gè)傳輸功能的,只要把這個(gè)時(shí)間地址傳送到寄存器就行了。不要用到宏指令功能的。
本公司專業(yè)銷售WEINVIEW、信捷觸摸屏,信捷PLC,三晶變頻器,東元伺服,日本高士美換模系統(tǒng)。承接各項(xiàng)自動(dòng)化流水工程制造與設(shè)計(jì)以及設(shè)備改造  www.czzlzdh.com
mingchli
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 307 個(gè)
工控威望: 315 點(diǎn)
下載積分: 1608 分
在線時(shí)間: 128(小時(shí))
注冊(cè)時(shí)間: 2008-06-25
最后登錄: 2024-03-20
查看mingchli的 主題 / 回貼
4樓  發(fā)表于: 2008-08-31 20:49
活到老學(xué)到老。