clyzzc
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 83 個(gè)
工控威望: 158 點(diǎn)
下載積分: 23893 分
在線時(shí)間: 405(小時(shí))
注冊(cè)時(shí)間: 2018-04-17
最后登錄: 2024-12-20
查看clyzzc的 主題 / 回貼
樓主  發(fā)表于: 2024-08-14 10:01
圖片:
圖片:
圖片:
基于Codesys的CAN2.0B通訊,用的合信PLC,CPU自帶一個(gè)CAN口,連接廣成CAN盒子,進(jìn)行測(cè)試;can總線在新能源行業(yè)船舶行業(yè)應(yīng)用比較多,BMS,逆變器,充電機(jī)等。
變量聲明:PROGRAM ST_MainVAR Can_InterFaces:CanInterFaces; candrive_29bit:CAN.CANDriver_29bit; X2: BOOL; config1: CAN.DRIVER_CONFIG; send1:CAN.CANSender; mes1: CAN.MESSAGE; singid:CAN.CANSingleIdReceiver;//通過(guò)掩碼方式接收 maskreceiver:CAN.CANMaskReceiver; sid: CAN.RECEIVER_SINGLE_ID := (dwCanId := 16#30, x29BitIdValue := TRUE, x29BitIdMask := TRUE, xTransmitMask := TRUE); mask1: CAN.RECEIVER_MASK := (x29BitIdValue := TRUE, x29BitIdMask := TRUE, xTransmitMask := TRUE); sig_time: BLINK; sig_out: BOOL; byte0: ARRAY[0..7] OF byte; word0, word1: word; dword0, dword1: dword; FrameID: dword; DataAddress: word; sig_f: F_TRIG;END_VAR
主程序:sig_time(ENABLE:= TRUE , TIMELOW:=T#5MS , TIMEHIGH:=T#5MS , OUT=>sig_out );
config1.usiNetwork:=0;  //網(wǎng)絡(luò)端口config1.uiBaudrate:=1000;//波特率config1.ctMessages:=10;//長(zhǎng)度//can配置candrive_29bit( xEnable:= TRUE , //觸發(fā)位 xDone=> ,  xBusy=> ,  xError=> ,  xResetBusAlarm:= X2, //報(bào)警復(fù)位 DriverConfig:= config1, //can總線配置 xBusAlarm=> ,  eError=> );
sig_f(CLK:=sig_out , Q=> );
IF sig_f.Q THEN//幀ID自減1 IF FrameID < 1 THEN FrameID:=32766; ELSE FrameID:=FrameID-1; END_IF   IF DataAddress > 32766 THEN//數(shù)據(jù)地址自加1 DataAddress:=0; ELSE DataAddress:=DataAddress+1; END_IF END_IF

//配置CAN發(fā)送,幀ID,數(shù)據(jù),長(zhǎng)度,標(biāo)志位mes1.udiCanID:=FrameID;//發(fā)送的幀IDmes1.abyData[0]:=WORD_TO_BYTE(SHR(DataAddress,8) ); //發(fā)送的數(shù)據(jù)mes1.abyData[1]:=WORD_TO_BYTE(DataAddress);mes1.abyData[2]:=16#1A; mes1.abyData[3]:=16#2B; mes1.abyData[4]:=16#3C; mes1.abyData[5]:=16#4D; mes1.abyData[6]:=16#5E; mes1.abyData[7]:=16#6F; mes1.usiDataLength:=8;//要發(fā)送的數(shù)據(jù)長(zhǎng)度mes1.xIs29BitMessage:=TRUE;//發(fā)送的是擴(kuò)展幀,這個(gè)地方要置1 //can發(fā)送 send1( xExecute:= sig_out, //觸發(fā)位 xDone=> ,  xBusy=> ,  xError=> ,  itfCANDriver:= candrive_29bit , //CAN配置,上面的實(shí)例--candrive_29bit Message:= mes1, //要發(fā)送的消息 eError=> );
//根據(jù)掩碼接收maskreceiver( xEnable:= TRUE,  xDone=> ,  xBusy=> ,  xError=> ,  itfCANDriver:= candrive_29bit,  itfMsgProcessor:= Can_InterFaces, //接收 tTimeLimit:= T#5MS ,  Mask:= mask1,  eError=> );

  
[ 此帖被clyzzc在2024-08-14 10:10重新編輯 ]
clyzzc
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 83 個(gè)
工控威望: 158 點(diǎn)
下載積分: 23893 分
在線時(shí)間: 405(小時(shí))
注冊(cè)時(shí)間: 2018-04-17
最后登錄: 2024-12-20
查看clyzzc的 主題 / 回貼
1樓  發(fā)表于: 2024-08-14 10:02
附上源碼
clyzzc
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 83 個(gè)
工控威望: 158 點(diǎn)
下載積分: 23893 分
在線時(shí)間: 405(小時(shí))
注冊(cè)時(shí)間: 2018-04-17
最后登錄: 2024-12-20
查看clyzzc的 主題 / 回貼
2樓  發(fā)表于: 2024-08-14 10:07
不太會(huì)發(fā)帖,上傳附件弄了半個(gè)小時(shí)
zhaoaron
zhaoaron
級(jí)別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1631 個(gè)
工控威望: 5261 點(diǎn)
下載積分: 2604 分
在線時(shí)間: 818(小時(shí))
注冊(cè)時(shí)間: 2021-09-25
最后登錄: 2024-12-22
查看zhaoaron的 主題 / 回貼
3樓  發(fā)表于: 2024-08-14 10:49
      
......
es_ice
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 96 個(gè)
工控威望: 124 點(diǎn)
下載積分: 1210 分
在線時(shí)間: 59(小時(shí))
注冊(cè)時(shí)間: 2023-08-07
最后登錄: 2024-12-22
查看es_ice的 主題 / 回貼
4樓  發(fā)表于: 2024-08-14 10:55
工業(yè)上還真沒(méi)見(jiàn)過(guò)這么裸用can報(bào)文的。。。一般都是canopen包裝
siyatu2001
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 512 個(gè)
工控威望: 566 點(diǎn)
下載積分: 52421 分
在線時(shí)間: 627(小時(shí))
注冊(cè)時(shí)間: 2021-03-09
最后登錄: 2024-12-21
查看siyatu2001的 主題 / 回貼
5樓  發(fā)表于: 2024-08-14 13:54
沒(méi)有數(shù)據(jù)追蹤斷點(diǎn)功能,大數(shù)據(jù)量的話怎么檢查錯(cuò)誤?
chenhaot
chenccc
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 157 個(gè)
工控威望: 235 點(diǎn)
下載積分: 1348 分
在線時(shí)間: 139(小時(shí))
注冊(cè)時(shí)間: 2020-08-20
最后登錄: 2024-12-19
查看chenhaot的 主題 / 回貼
6樓  發(fā)表于: 2024-08-15 10:59
可以的,樓主寫的比我自己寫的demo要詳細(xì)一點(diǎn)
黃輝馮某某
微信 F1049305119
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 334 個(gè)
工控威望: 457 點(diǎn)
下載積分: 1235 分
在線時(shí)間: 146(小時(shí))
注冊(cè)時(shí)間: 2022-03-21
最后登錄: 2024-12-21
查看黃輝馮某某的 主題 / 回貼
7樓  發(fā)表于: 2024-08-18 19:49
啥玩意啊,又是字母又是中文又是符號(hào)的,密密麻麻恐懼癥
QQ 302961958
閑魚(yú)  ucldnaqk ,有一些二手學(xué)習(xí)硬件低價(jià)出售
歡迎私聊