產(chǎn)品詳情
6ES73401CH020AE0西門子CP340通信處理器
SIMATIC S7-300,CP 340 通信處理器 帶 RS-422/485 接口 包括項(xiàng)目組態(tài)包 在 CD 上
|
SIEMENS西門子
上海麗丞工業(yè)自動化設(shè)備有限公司
全新原裝,質(zhì)量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機(jī)界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機(jī)、交換機(jī)、自動化軟件等系型號齊全,快速報(bào)價,買我們的產(chǎn)品無憂所值,我們的產(chǎn)品都承諾質(zhì)保一年,讓您買的省心舒心,用的放心!
西門子S7-300的串口通訊一直都是西門子熱線上的一個熱點(diǎn)問題。這次又是一樣,問題是客戶的串口通訊模塊CP340無法完整的接收數(shù)據(jù)。故事情節(jié)是這樣的。今早剛到公司,一同事就轉(zhuǎn)給我一個串口通訊的case,撥通電話打過去。
Engineer:喂,您好,西門子熱線,您這是什么問題呢?
Customer:您好,工程師,我想問一下,CP340如果進(jìn)行自由通訊,是不是使用ASCII協(xié)議?
Engineer:對。
Customer:那我沒有錯啊。工程師,是這樣的,我有一個S7-300的系統(tǒng),與一個條碼槍進(jìn)行通訊。S7-300這邊使用的是串口通訊模塊CP340,與條碼槍進(jìn)行串口通訊,可是CP340每次只能接收1個字節(jié)的數(shù)據(jù),而實(shí)際上條碼槍是發(fā)送了4個字節(jié)的數(shù)據(jù)。
Engineer:CP340是什么接口的?RS485?還是RS232?
Customer:是RS485接口的,它是通過一個485/232(RS485轉(zhuǎn)RS232)的接口轉(zhuǎn)換器與條碼槍進(jìn)行通訊的。
Engineer:既然可以接收到數(shù)據(jù),至少說明CP340在字符消息幀參數(shù)設(shè)置(如:9600,8-1-none)上沒有問題。那你有沒有查看CP340有什么報(bào)錯信息;另外,你有沒有使用電腦分別與CP340和條碼槍做通訊測試呢?通過測試看看是哪里出問題了。而且電腦也有RS232接口,正好也可以驗(yàn)證你485/232的接口轉(zhuǎn)換器是否有問題。
Customer:我都做了,CP340根本沒有任何報(bào)錯。電腦可以完整的接收到條碼槍發(fā)送的4個字節(jié)數(shù)據(jù);電腦通過485/232的接口轉(zhuǎn)換器,與CP340通訊也沒有問題,電腦發(fā)送多少個數(shù)據(jù),CP340就可以接收到多少個數(shù)據(jù)。所以,我是沒辦法了,才求助于你們工程師來了。
Engineer:哦…,(同時我默默想著:數(shù)據(jù)總是接受不完整,是不是接收條件有問題)那你有沒有通過設(shè)置結(jié)束字符的方式來接收數(shù)據(jù)呢?
Customer:哎,工程師,我做了,結(jié)果一樣,也是只能接收到一個數(shù)據(jù)。而且以前我也做過相同的項(xiàng)目,都是這么做的,沒有任何問題。就是不知道為什么這次是這種情況,是不是CP340壞了?
Engineer:哦…(同時腦子里開始快速思考——這會是什么情況造成的呢,突然我想到了什么)。(我又接著問)那既然接收到了一個字節(jié)的數(shù)據(jù),那是一個什么樣數(shù)據(jù),能跟我說說么?
Customer:沒太注意,不過有幾次觀察,好像都是接收到最后一個數(shù)據(jù)。
Engineer:(我心里有底了,與我預(yù)料的一樣)這樣吧,你將接收條件——字符延遲時間(默認(rèn)是4ms),見圖1,改大些,然后將組態(tài)編譯保存下載,再試試。
圖1
通話結(jié)束,客戶去按照我的要求實(shí)驗(yàn)。15分鐘后,撥通客戶電話。
Engineer:喂,您好,實(shí)驗(yàn)做得怎么樣了?
Customer:嗯,工程師,數(shù)據(jù)倒是接收上來了,也不是1個了,不過卻超過4個了。
Engineer:你將字符延遲時間設(shè)置成多少了?
Customer:,我怕太小,設(shè)置成400ms了。
Engineer:我笑了,你設(shè)置時間太大了,改小點(diǎn),改成100ms再試試。
客戶掛斷電話,又去實(shí)驗(yàn)。15分鐘后,再次撥通客戶電話。
Engineer:喂,您好,這次沒有問題了吧?
Customer:工程師,接收正常了,可以收到4個數(shù)據(jù)了。不過這是為什么呢?
Engineer:是這樣的。消息幀接收結(jié)束條件有3種,見圖1,默認(rèn)是以字符延遲時間作為結(jié)束條件,且字符延遲時間默認(rèn)是4ms。也就是說一幀消息結(jié)束,到下一幀消息開始,這之間的時間必須大于4ms,否則就算成一幀消息。而你這項(xiàng)目中,條碼槍的一幀消息含有4個字節(jié)數(shù)據(jù),且條碼槍發(fā)送這4個字節(jié)數(shù)據(jù)的時間間隔都超過4ms了,因此CP340將這4個字節(jié)數(shù)據(jù)當(dāng)成了4個消息幀對待,于是造成后一個字節(jié)覆蓋前一個字節(jié),最后就只能接收到第4個字節(jié)的數(shù)據(jù)。至于按結(jié)束字符的方式來接收為什么結(jié)果一樣,見圖2,其實(shí)道理很簡單,因?yàn)榘唇Y(jié)束字符的方式來接收,在設(shè)置結(jié)束字符的同時,也要設(shè)置字符延遲時間,且默認(rèn)也是4ms,所以這也能解釋為什么同樣只能接收到一個數(shù)據(jù)的原因。
圖2
Customer:哦,我明白了,沒想到問題出在這里。
Engineer:關(guān)于這方面的知識,你可以通過手冊(S7-300 CP340的PtP耦合與組態(tài))了解。另外,也有一篇熱線故事做了這方面的介紹,你可以看看。
6ES73401CH020AE0西門子CP340通信處理器