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 夜夜穞天天穞狠狠穞

ferrari550c
級別: 正式會員
精華主題: 0
發帖數量: 11 個
工控威望: 81 點
下載積分: 1149 分
在線時間: 5(小時)
注冊時間: 2020-05-29
最后登錄: 2025-08-31
查看ferrari550c的 主題 / 回貼
樓主  發表于: 2020-11-23 15:10
手頭有個項目用的是1214的CPU,需要用到CAN總線,考慮過CM CANopen 021620-B模塊,但是不巧這個模塊只能用于CAN2.0A,所以只能用第三方的CAN轉485模塊。
模塊采用固定的個是轉換,每一幀CAN報文都轉換出13個字節長度的數據:




CPU組態了CM1241模塊,用自由口通訊來接收和發送串口數據。測試時發現CAN總線上發送兩個ID報文,每條的數據都間隔100ms加1,在PLC端仿真看兩個ID的數據是不同步的在自增,一會第一個ID的數據在漲,第二個ID的數據不變,一會第二個ID的數據漲,第一個ID的不變……


這里還想問下RCV_PTP和Receive_P2P功能塊的區別,我現在用的是RCV_PTP,說明里說EN_R在上升沿啟用接收,但是我實際發現一直給TRUE也是可以接收的。我使用Receive_P2P就沒有接收成功過數據,這是什么原因?


這是我功能塊的配置圖:




同時我做了個NDR的上升沿捕捉計數器,發現只有程序第一次運行的時候漲了一次,后面就一直不漲。




另外我發送用的是Send_P2P功能塊。CM1241和轉換器的連接用的是422四線制全雙工,發送和接收是單獨處理的。


我的疑問在于CAN轉換器是收到總線上的報文立刻進行轉換的,當總線上的報文很多時,同一時刻在串口端只會發出一幀對應的CAN報文,也就是13個字節,如果串口這邊還沒讀完,下一幀轉換的數據又來了,就有可能讀不到了。我也咨詢過轉換器的技術,說CAN波特率和串口波特率要差不多,現在CAN是250K,串口這邊已經是115200了。出現這種現象是我的接收處理有問題還是用這樣的方法只能實現這樣的效果?望高手們指點,不勝感激!
[ 此帖被ferrari550c在2020-11-25 08:50重新編輯 ]
ferrari550c
級別: 正式會員
精華主題: 0
發帖數量: 11 個
工控威望: 81 點
下載積分: 1149 分
在線時間: 5(小時)
注冊時間: 2020-05-29
最后登錄: 2025-08-31
查看ferrari550c的 主題 / 回貼
1樓  發表于: 2020-11-25 08:51
已解決,通信模塊設置以固定長度結束消息就OK了。