第一篇:單片機串行通訊設計心得體會梁璐
單片機串行通訊設計心得體會
為期兩周的單片機課程設計結(jié)束了,看著我們小組成員共同培育出來的設計成果,回想大家埋頭設計的場景,我心里有種說不出的激動和高興。
還記得單片機課程設計開始的那一天,李老師把大家召集到了單片機實驗室,給我們介紹了此次課程設計的主要內(nèi)容和注意事項。全班同學分成10個小組,每個小組都領到了不同的課程設計任務書。我與另外三個同學組成了一個小組,開始研究起此次設計的課題——串行通訊設計。
由于單片機原理及應用這門課程為我們上學期所學的內(nèi)容,且串口通訊這部分知識點屬于略講內(nèi)容,所以我們要做好本課題的設計,就必須要先把單片機串口通訊的知識點弄懂。于是大家開始分工合作,收集資料,明確設計步驟。
接下來的時間里,在老師的指導下和小組組長的帶領下,我們小組成員共同整理了與課程設計有關(guān)的資料,確定了設計中需要使用的硬件和軟件設備等,并繪制出了整個設計的流程圖。通過上網(wǎng)、去圖書館查找相關(guān)資料,我們弄明白了本設計中使用的單片機AT89C52芯片、LED顯示器等硬件的特點、工作方式和原理,也弄懂了PC機與單片機實現(xiàn)串行、并行傳輸數(shù)據(jù)的基本原理、PC機與單片機之間信號的電平轉(zhuǎn)換方式。
整個課程設計中最有難度的部分是軟件程序的編寫。我們采用C語言和匯編語言分別編寫了兩套程序,其中我與組長采用C語言進行程序編寫。程序經(jīng)過不斷地修改才能實現(xiàn)編譯無誤。最后還要進行優(yōu)化,才能編出一套完整優(yōu)質(zhì)的程序。
接下來的時間里,我們帶著編寫好的程序輸入KEIL,把程序燒錄到單片機實驗模塊中,使用PC機串口調(diào)試助手進行調(diào)試。調(diào)試結(jié)果成功,老師對我們的設計給出了良好的評價,但同時也指出了其中的一些不足,如:C語言編寫的程序在調(diào)試過程中顯示結(jié)果準確但每一次只能傳輸一個數(shù)據(jù);而匯編語言編寫的程序在調(diào)試過程中雖可以一次性傳送多個數(shù)據(jù),卻不能將結(jié)果通過LED顯示器展現(xiàn)出來,于是我們又在原來的基礎上做了一些改進。最后,我們要做的就是完成本次單片機課程設計的報告。
從這一次課程設計中,我學到了很多,不但鞏固了計算機C語言和單片機原理及應用的知識,還學到了團隊之間應該如何分工合作、團結(jié)互助。單片機課程設計實踐性強,需要綜合運用所學的知識,耐心、細心地去完成每一個細節(jié),才能鞏固和加深擴大所學的理論知識,將微型計算機應用系統(tǒng)的硬件、軟件及其接口的設計和調(diào)試方法弄明白。這份課程設計成果,凝聚著我們小組4個成員的心血,以及指導老師的悉心幫助。我們收獲的,也不僅
僅是這一份設計成果,更多的是知識的積累鞏固、成員間的團結(jié)互助精神。
由于時間和知識水平有限,我們最后完成的設計成果中還存在著一些不足,懇請老師指正。在此,感謝老師的指導和幫助!
長沙理工大學電氣與信息工程學院電氣工程及其自動化0902班2012年6月24日 梁璐
第二篇:單片機串行通信實驗
實驗四 單片機串行通信實驗
一、實驗目的
1、掌握單片機串行口工作方式的程序設計,及簡易三線式通訊的方法。
2、了解實現(xiàn)串行通訊的硬環(huán)境、數(shù)據(jù)格式的協(xié)議、數(shù)據(jù)交換的協(xié)議。
3、學習串口通訊的中斷方式的程序編寫方法
二、實驗說明
利用單片機串行口,實現(xiàn)兩個實驗臺之間的串行通訊。其中一個實驗臺作為發(fā)送方,另一側(cè)為接收方。發(fā)送方讀入按鍵值,并發(fā)送給接收方,接收方收到數(shù)據(jù)后在LED上顯示。
三、實驗儀器
計算機
偉福實驗箱(lab2000P)
四、實驗內(nèi)容與軟件流程圖 1、8051的RXD、TXD接線柱在POD51/96仿真板上。
2、通訊雙方的RXD、TXD信號本應經(jīng)過電平轉(zhuǎn)換后再行交叉連接,本實驗中為減少連線可將電平轉(zhuǎn)換電路略去,而將雙方的RXD、TXD直接交叉連接。也可以將本機的TXD接到RXD上,這樣按下的鍵,就會在本機LED上顯示出來。
3、若想與標準的RS232設備通信,就要做電平轉(zhuǎn)換,輸出時要將TTL電平換成RS232電平,輸入時要將RS232電平換成TTL電平??梢詫⒎抡姘迳系腞XD、TXD信號接到實驗板上的“用戶串口接線”的相應RXD和TXD端,經(jīng)過電平轉(zhuǎn)換,通過“用戶串口”接到外部的RS232設備??梢杂脤嶒瀮x上的邏輯分析儀采樣串口通信的波形
4、軟件流程圖
5、實驗電路連接方式
①雙機串行通信方式。TXD腳和RXD腳分別用于發(fā)送和接收數(shù)據(jù)。
②單機通信的情況下,只需將自己的TXD腳與RXD腳連接就可以,不用公地操作。
五、思考題
1、接收到的數(shù)據(jù)加1顯示出來;
2、保存前一個接收到的數(shù)據(jù),數(shù)據(jù)向前推動顯示。
六、源程序修改原理及其仿真結(jié)果 實驗結(jié)果圖 源程序:
加1顯示:
接收到的數(shù)據(jù)先前推送:
七、心得體會
通過這次實驗,我掌握了單片機串行口工作方式的程序設計,及簡易三線式通訊的方法。了解了實現(xiàn)串行通訊的硬環(huán)境、數(shù)據(jù)格式的協(xié)議、數(shù)據(jù)交換的協(xié)議。學習了串口通訊的中斷方式的程序編寫方法。
第三篇:紅樓夢讀后感梁璐
讀《紅樓夢》有感
《紅樓夢》是一部中國末期封建社會的百科全書,通過對封建豪門賈、史、王、薛四大家族從輝煌到衰敗過程的描寫,毫不留情地撕掉了他們丑陋的偽裝,留下一具聚集著無恥、腐朽、墮落、罪惡的靈魂,展示了這一家族必然滅亡的命運和無可挽回的崩潰。
曹雪芹筆下所創(chuàng)造的人物是那些敢于反叛那個垂死的封建貴族的貳臣逆子;所同情的是那些封建制度下的犧牲者;所批判和否定的是封建社會的虛偽道德合不合理的社會現(xiàn)象。在那個昏暗的封建社會中,賈寶玉稱得上是一個特立獨行的叛逆者,他的聰明乖覺出,百個不及他一個,他能說出“女兒是水做的骨肉,男兒是泥做的果肉。我見了女兒便覺得渾身清爽,見了男兒便覺的臭氣逼人。”在賈府里,他是家長眼中的“混世魔王”,不讀書也不考取功名,他有勇氣大罵科舉八股文是文人“餌名釣祿之階”。但吟詩作對,他卻比那些所謂的文人雅士高出一籌。這么一個如玉般輕靈俊秀的少年公子最后卻是以出家為僧了結(jié)塵緣,令人感慨不已。
想起寶玉口中神仙般的妹妹,必定是生得花容月貌,氣質(zhì)美如幽蘭,才華阜比仙人,卻天生孤僻清高,在賈府中寄人籬下,步步為營。起初,在我眼中,林黛玉是個高傲敏感,說話尖酸刻薄的纖弱女子.可是,后來才驚覺在她纖弱細致的外表下是善美的靈魂。她仿佛是一直獵鷹,看似孤傲堅強,其實她的孤單倔強都被隱藏在了羽毛之下,無人知道她曾長夜痛哭的心酸。在大觀園里,有雍容華貴的薛寶釵,有心直口快的史湘云,有處事干練的王熙鳳……林黛玉本是書香門的的女子,比別人更加出類拔萃。只是,只是她太聰明了。連鋒芒都露了出來。她沒有心機,刀子嘴豆腐心,說話向來直接鋒利。因此,賈府里的人都有意疏遠她。在書中,真真切切的聽到黛玉的悲吟:“花柳繁華地,富貴溫柔鄉(xiāng)”的大觀園在她眼里卻是“一年三百六十日,風刀霜劍嚴相逼”的場所;在清幽的瀟湘館里,她過的是“不知風雨幾時休,以教淚灑窗紗濕’的凄涼長夜;才華橫溢的她,每次憂愁的時候,也只能是”滿紙自憐題素愿,片言誰解訴秋心“如此聰明出色的女子,怎能不叫寶玉傾心?
書中最感人的莫過于寶玉和黛玉凄美空靈的愛情。他們青梅竹馬,兩小無猜;他們對詩作樂,惺惺相惜;他們在樹下互吐衷腸,嬉戲玩耍;他們感情交織纏綿,忠于對方……他懂得她心,他愛她;她為他傷心,亦愛他。寶玉和黛玉本是被月老的紅線緊緊拴在一起的戀人,一個是閬苑仙葩,一個是美玉無瑕,一個是鏡中花,一個是水中月,一個枉自嗟呀,一個空勞牽掛。他們的心彼此貼近,毫無縫隙。某一天,卻不得不陰陽相隔,有緣無分,這一邊是寶玉寶釵大婚,那一邊是黛玉臥病在床,凄涼的離開人世。命運弄人,那一刻的他們遙遠的如同隔了一世,終究是錯過彼此,怨天怨地怨宿命,念花念樹念黛玉。
一邊是木石前盟,一邊又是金玉良緣;一邊是封建社會下必須追求的功名光環(huán),一邊是心馳神往的自由之身。這是一場無聲卻硝煙彌漫的戰(zhàn)爭,寶黛的愛情在封建禮教的壓迫下輸?shù)脻⒉怀绍?。旦夕之間,情知對于生命的千般流轉(zhuǎn)僅需富裕無盡的忍愛;深情即是一場悲劇,卻得以死亡來句讀。在時光空隙里存在的那段菲薄的流年,那些深深埋藏在內(nèi)心的情感,都已成為奢侈傷感的春秋。那段愛情埋葬在那個昏暗荒寒的封建社會,只剩下冰冷的眼淚。
春光芊綿也嘆世態(tài)炎涼,白云蒼狗只道歲月無償。曹雪芹筆下的紅樓,每一個人物都栩栩如生,而讓那世人品味的不知是它錯綜復雜的感情,還有那百變不離其宗的社會現(xiàn)實。太多太多的悲,太多太多的嘆,太多太多的感源于那扼殺人性的封建社會。緣起緣滅,終覺夢一場。拾筆寫一紙荒唐,癡人我解其中味。到不盡三千紅樓淚,贖不回一世苦命緣。三生河畔旳黛玉還在三生河畔苦苦等待,而世人已將這紅樓一夢讀完。
第四篇:單片機數(shù)字鐘設計心得體會
單片機數(shù)字鐘設計心得體會
經(jīng)過一周的課程設計,我收獲頗多,有深刻的心得體會。實訓讓我們受益匪淺。首先是關(guān)于單片機方面的。我們學到了許多關(guān)于單片機系統(tǒng)開發(fā)的知識,從最開始選題到最后的結(jié)題,更使我們得到了充分的鍛煉。其次,它讓我體會到了什么才是teamwork spirit。一如:團隊管理的經(jīng)驗、團隊意識的提升和協(xié)調(diào)能力等等,這些都會讓我們終身受益。
通過此次課程設計,使我更加扎實的掌握了有關(guān)電子線路單片機方面的知識,在設計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查我終于找出了問題所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐才能出真知,實踐才是檢驗真理的唯一標準,唯有通過親自動手制作,才能令我們掌握的知識不再是一些紙上談兵的東西。
在這次的課程設計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最后的緊張繁雜,所有的這些都令我們回味無窮,這已經(jīng)成為了我們?nèi)松囊粋€寶藏。我想今后的學習和工作也是這樣的,汗水見證著成功,我想十年過后,但我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,最先映入腦海里的就是這門課程吧,就是這些為了一個共同的目標,相互合作,共同奮斗的日子。
不可否認,單片機是一門比較難的專業(yè)學科。但是經(jīng)過這一學期的學習,我們覺得單片機這門課很好,讓我們在設計中掌握課程,具有很強的實用性。在社會上,單片機也應用極其廣泛。通過這次課程設計,我掌握了常用元件的識別和測試;熟悉了常用儀器、儀表;了解了電路的連線方法;以及如何提高電路的性能等等。我相信在接下來的日子里,我會更深刻地去研究它,發(fā)掘它。在這次的實訓里,我覺得過得很充實。實訓,不僅培養(yǎng)了我們獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。汗水,是我們努力的過程,更是成功的使者。它是希望的凝聚。
回首此次實訓,我們真的學到了很多很多。鞏固了以前所學過的知識,將理論與實際結(jié)合起來,不斷提高自己的實際動手能力和獨立思考的能力,并學會去使用知識。當然不僅僅是這些課本 上 的 知 識,更
要 的 是 一 些 課本上沒 有但 是也很 重 要 的 知 識。像是團隊合作精神等。當我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,回憶起這些泛著汗水的時光的時候,定然會被我們的團隊感動。成功后會很喜悅,但過程一樣令我們回味無窮。此次設計也讓我明白了思路即出路,學問學問,有學必問。只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識。親歷親為,親手實踐才是硬道理。希望這樣的實訓能夠繼續(xù)下去,并不斷地前進,幫助更多的學生更好地學習單片機,并能夠在使用中發(fā)現(xiàn)它的無窮魅力!
2014年1月13日
第五篇:ECS-700串行通訊(COM741同黑馬ESD_MODBUS+RTU)實施小結(jié)
ECS-700串行通信(MODBUS)實施小結(jié)
一、串行通信基礎知識
不論做哪個系統(tǒng),做哪種異構(gòu)系統(tǒng)通信,一些基礎知識是必須掌握的,象系統(tǒng)運算使用的數(shù)據(jù)類型、I/O點使用的位號種類等。
1、ECS-700的控制器運算數(shù)據(jù)類型如下: BOOL 8 bit ON,OFF SINT 8 bit-128~127 USINT 8 bit 0~255 INT 16 bit-32768~32767 UINT 16 bit 0~65535 DINT 32 bit-2147483648~2147483647 UDINT 32 bit 0~4294967296 REAL 32 bit 浮點值
2、ECS-700的I/O位號種類如下: AI 模擬量輸入 AO 模擬量輸出 DI 開關(guān)量輸入 DO 開關(guān)量輸入 NA 自定義模擬量 ND 自定義開關(guān)量 NN 自定義整型量 PA 頁間交換模擬量 PD 頁間交換開關(guān)量 PN 頁間交換整型量
ECS-700中模擬量數(shù)據(jù)全部浮點處理,開關(guān)量數(shù)據(jù)全部為一字節(jié)布爾型處理。
3、ModBus 功能碼
01 READ COIL STATUS(讀線圈狀態(tài))02 READ INPUT STATUS(讀輸入狀態(tài))
03 READ HOLDING REGISTER(讀保持寄存器)04 READ INPUT REGISTER(讀輸入寄存器)05 WRITE SINGLE COIL(寫單個線圈)06 WRITE SINGLE REGISTER(寫輸入)15 WRITE MULTIPLE COIL(寫多個線圈)WRITE MULTIPLE REGISTER(寫輸入寄存器)
4、Modbus 功能與數(shù)據(jù)類型對應表
MODBUS協(xié)議的一個輸入寄存器或保持寄存器地址占兩個字節(jié)即16位。
二、ECS-700系統(tǒng)串口通信基本知識
1、通信實施要點
MODBUS協(xié)議規(guī)定,一條MODBUS命令最多可以返回255個字節(jié)的數(shù)據(jù),即最多可以支持255*8=2040個開關(guān)量或254/2=127個2字節(jié)模擬量或相應數(shù)量的其它類型數(shù)據(jù)。
ECS-700的FCU711-S控制器最多支持最大IO點數(shù)2000個點(含通信位號),其中AI最大1000個點,AO最大500個點,DI最大2000點,DO最大1000點。
COM741-S模塊所帶的每一個設備,具有512個字節(jié)的輸入數(shù)據(jù)區(qū)和256個字節(jié)的輸出數(shù)據(jù)區(qū),即用戶設置的同一設備下最多能讀入512個字節(jié)的輸入數(shù)據(jù)及256個字節(jié)的輸出數(shù)據(jù)。
所以在進行大數(shù)據(jù)量通信時,需考慮以上三條限制。
說明:ECS-700的通信模塊系統(tǒng)架構(gòu)區(qū)別于原ECS-100系統(tǒng),通信模塊作為主控制器下的一個節(jié)點,邏輯上等同于I/O連接模塊,通信后掃描添加的位號(通信位號)同主控制器下的常規(guī)I/O位號在上位機的處理完全相同。這們雖然避免了ECS-100系統(tǒng)那樣需要通過站間通信進行控制數(shù)據(jù)處理,但另一方面又占用了控制器的系統(tǒng)資源。
2、ECS-700串口通信基本組態(tài)操作(以MODBUS協(xié)議,通信模塊作主站為例)1)硬件安裝及設置
串行通信模塊COM741-S,配套基座有MB725-S(非冗余型)與MB726-S(冗余型)兩種。
模塊免跳線,RS485與RS232通信方式跳線在通信基座上設置,每個模塊4個串口可分別設置。模塊冗余工作方式有“一對一”、“一對二”(僅V10.20.00以上版本COM741-S模塊才支持“一對二”冗余方式,配合使用的VisualFieldV3.1+SP1軟件版本才開放“一對二”功能)兩種。
“一對一”即一個智能設備提供一對冗余的、可同時工作的串口,兩塊互為冗余的COM741-S模塊安裝在同一塊基座MB726-S上,相同串口號的串口分別智能設備冗余的兩個串口相連,并可同時通信,工作/備用模塊之間通過冗余通信交互信息,并由工作模塊與控制器進行通信。這種冗余模式下物理連接冗余、串 口通訊冗余、模塊冗余,極大地提高了系統(tǒng)的可靠性。
“一對二”模式下,智能設備的一個串口連接COM741-S的兩個串口。此時智能設備不提供冗余串口,相同串口號的串口同時與智能設備提供的同一個串口相連,一個時間只有一側(cè)模塊的串口驅(qū)動串行總線工作,另一側(cè)對應的串口做熱備冗余。工作/備用模塊之間通過冗余通訊交互信息,并由工作模塊與控制器進行通信。此冗余模式下模塊冗余,提高了系統(tǒng)的可靠性。
綜上所述,“對”前邊的“一”指對方設備的一個串口,“對”后面的“二” 指我方兩個串行通信模塊的兩個串口。
如有多個智能設備通信時,要注意通信模塊性參數(shù)限制,一個串口最多可接入32個智能設備,一個模塊四個串口最多可接入64個智能設備。
由于通信模塊在邏輯上相當于一個I/O連接模塊,因此一對主控制器下最多只能帶7個COM741-S模塊(同I/O連接模塊、PROFIBUS主站通信模塊、FF通信模塊混合計算),任務主控制器下的一個E-BUS節(jié)點,其地址在基座上設置。
2)通信組態(tài)流程
A.控制器下添加通信模塊并設置冗余方式。B.打開串口通信組態(tài)軟件。C.設置串口參數(shù)。
D.添加設備及設置設備參數(shù)。
E.添加MODBUS命令及設置MODBUS命令參數(shù)。3)位號掃描與修改
在位號表中可能過“掃描通道位號”自動添加位號,對自動添加的位號可以進行修改,也可能手動添加位號。添加的位號在位號表中自動注釋為通信位號,延續(xù)在常規(guī)I/O位號后,在組態(tài)中使用同常規(guī)I/O位號完全相同。
三、ECS-700系統(tǒng)串行通信的具體實施與問題
以豐喜4#氣化爐ECS-700系統(tǒng)與黑馬ESD系統(tǒng)通訊為例說明
項目簡況:本項目配置我公司ECS-700系統(tǒng)一套,軟件版本VisualFieldV3.10.02.01-100630-M,配置COM741-S模塊兩塊,冗余型通信模塊基座MB726-S一個;黑馬ESD系統(tǒng)一套,配套HIMA ELOP II軟件。ESD系統(tǒng)只設置工程師站,提供SOE記錄,全部上位機監(jiān)控畫面,在DCS側(cè)經(jīng)通信連接后組態(tài)完成。
1、硬件連接與設置
DCS在本地節(jié)點2#機架第一個基座位置安裝冗余型通信模塊基座MB726-S一個,設置節(jié)點地址為2;安裝兩塊COM741-S模塊。
黑馬ESD系統(tǒng)配置兩塊冗余的通信卡,每塊通信卡上有兩個同時工作串口,預留一個串口備用。ESD配置了冗余通信電纜,電纜為6芯屏蔽,每3芯連接一塊通信卡的一個串口,在每個串口的接口下通信電纜線端增加有冗余信號處理電路,送DCS端兩個串口的三芯纜一一對應成對絞在一起,即合為一個串口連接線。COM741-S側(cè)接線時,地線可以不接,對絞的DATA+、DATA-分別接于左側(cè)通信模塊對應接線端子2、1,然后把左右側(cè)對應的1、2端子用電纜跨接。
2、通信組態(tài)
1)添加通信模塊及設置冗余
2)打開串口通信組態(tài)軟件
對新增的通信模塊點右鍵,選通信組態(tài)。
3)設置串口通信參數(shù)
在通信組態(tài)中選中使用的串口,進行參數(shù)設置:
目前通信模塊版本支持MODBUS標準協(xié)議主站及自定義協(xié)議主站,早期 COM741-S模塊不支持自定義協(xié)議。
4)添加設備及設置設備參數(shù)
設備參數(shù)中實際地址即智能設備的地址(即從站地址);而地址則是參數(shù)在位號組態(tài)軟件中執(zhí)行位號掃描時,作為位號地址的一部分,幫助區(qū)分各個位號,與通訊協(xié)議中的地址無關(guān)(在老版本的VF軟件中無實際地址這個參數(shù),只有地址這個參數(shù),它即表示智能設備的實際撥碼地址)。
響應時間,即設備響應命令的超時時間,單位ms。設置為0時,通信模塊內(nèi)部在(0-200)ms內(nèi)自動調(diào)整。串行通信模塊發(fā)送命令給智能設備后,某些設備并不會立刻回應,而是等待一定時間后才回應。設置這個響應時間的目的,則是為了通信模塊通過實際響應時間與其比較進而判斷通信成功或超時。一般情況下,可設置為0,讓通信模塊自行修正。
間隔時間(ms),表示兩條命令之間需要插入的等待時間。一些智能設備不允許在執(zhí)行完一條命令后緊接著執(zhí)行下一條命令,需要等待一段時間后才能響應。一般情況下,可設置為0,讓通信模塊在(0-10)ms之間處動修正。如設置時間太長則使得命令執(zhí)行周期加大。
5)添加MODBUS命令及設置MODBUD命令參數(shù)
項目第一條讀保持寄存器命令,即讀取起始地址為1001的連續(xù)30個保持寄存器。
第二條寫保持寄存器命令,意義為寫從起始地址1031開始的連續(xù)20個保持寄存器數(shù)據(jù)。
命令執(zhí)行周期表示該命令是否被周期執(zhí)行以及執(zhí)行周期是多長。只有周期地執(zhí)行通信命令,才能將智能設備中的數(shù)據(jù)讀入到通信模塊或?qū)⑼ㄐ拍K數(shù)據(jù)寫到智能設備。當執(zhí)行周期等于0時,表示該命令不是周期命令,只會在組態(tài)啟動時執(zhí)行一次。所以,對讀命令一般要設置為與控制器的控制周期相同。
對于寫智能設備的命令來說,有兩種觸發(fā)方式:一是數(shù)據(jù)變化才寫,二是定時寫。設置為有變化才寫的,將執(zhí)行周期設置為0;設置為定時寫方式,執(zhí)行周期則為定時時間,但當發(fā)現(xiàn)需要下寫的數(shù)據(jù)有更新時,串行通信模塊仍會立即執(zhí)行該條寫命令。通信模塊啟動時,自動被認為數(shù)據(jù)沒有變化,避免在啟動時將不需要的數(shù)據(jù)寫到智能設備中。所以,對寫命令,一般配置為有變化才寫,即設置執(zhí)行周期為0。
3、本次通信實施中出現(xiàn)的硬件及軟件問題 1)COM741-S通信模塊版本問題
本項目發(fā)貨模塊固化程序版本為1.0,對冗余的支持性較差且不支持某冗余方式,下載與通訊狀態(tài)不穩(wěn)定。
在聯(lián)系工程技術(shù)部后,根據(jù)研發(fā)提供的通信模塊固化程序升級軟件對COM741-S進行現(xiàn)場升級,升級為2.1版本后,通訊正常。
2)下載信息有錯誤
在下載過程中,一對主控制器會經(jīng)常出現(xiàn)工作主控制器對COM741-S下載成功,而備用主控制器對COM741-S下載超時,下載失敗的信息提示。
對于此問題,研發(fā)回復,屬信息報警錯誤,實際已經(jīng)下載成功,不影響使用。3)數(shù)據(jù)類型轉(zhuǎn)換精度問題
由于該項目的ESD側(cè)的順控及大聯(lián)鎖邏輯中大量的變量需通過通信方式,由DCS寫入到ESD,主要為開關(guān)量。
由于ESD-700系統(tǒng)內(nèi)暫無置位函數(shù),項目組初期實施方式為把16個開關(guān)量變量,按從低位到高位的順序經(jīng)過選擇函數(shù)及位與運算的轉(zhuǎn)換為16個對應位外其它15位均為0的整數(shù),再通過位或運算將這16個整數(shù)合為一個浮點數(shù)送出寫入到ESD的保持寄存器,要ESD解析后加入程控邏輯。
寫命令組態(tài)前,對于讀命令,同樣ESD側(cè)采到置位的方式把16個開關(guān)量合入一個寄存器地址,在DCS側(cè)經(jīng)讀取保持寄存器后解析數(shù)據(jù)取位,經(jīng)測試全部正常。
但寫命令調(diào)試中,發(fā)現(xiàn)DCS把合并好的浮點數(shù)據(jù)寫入ESD時,在DCS程序調(diào)試窗口看到的數(shù)據(jù)正常,但寫入到智能設備使有一部分數(shù)據(jù)出現(xiàn)錯誤:比如通過 修改位置浮點數(shù)為384寫過去便是383,同樣2432寫過去是2431等等,出現(xiàn)這們的精度差,對于使用開關(guān)量數(shù)據(jù)的通信來說是絕對不能使用的。
經(jīng)咨詢研發(fā),暫無解決方案。最后的處理方法,只能是每8個開關(guān)量合為一個模擬量,即一個寄存器的高8位置0不用。量程范圍為0-255,經(jīng)測試,256個狀態(tài)全部寫出正常。
4)不能對同一寄存器同時進行讀與寫的操作
為了隨時檢測寫命令是否被正常執(zhí)行,增加了寫命令的回讀校驗程序。其先,對寫命令的這部分MODBUS寄存器進行讀,然后通過寫狀態(tài)與讀狀態(tài)在一定時間內(nèi)的比較判斷是否寫入。調(diào)試中發(fā)現(xiàn),經(jīng)常會有不能寫入的現(xiàn)象發(fā)生。經(jīng)分析,如對同一寄存器進行讀寫操作,如讀指令與寫指令不在同一時刻則讀寫成功;如時間上指令發(fā)生沖突則寫指令執(zhí)行失敗。
處理方案:由ESD重新分配與寫指令所指寄存器相同數(shù)量的寄存器與寫指令寄存器一一對應,專用于回讀。經(jīng)修改后,寫指令順利執(zhí)行。
5)用戶功能塊的嵌套問題 為了校驗讀寫指令時,具體方案為讀寫狀態(tài)相同時計時器清零,最終寫指令輸出為寫狀態(tài),讀寫狀態(tài)不同持續(xù)2秒后,用讀指令對寫指令進行復位。這樣一個邏輯算法用戶功能塊,經(jīng)對一個讀寫指令校驗,使用正常。計劃把8個數(shù)據(jù)放在一個用戶功能塊進行處理,結(jié)果在另一個用戶功能塊對它進行嵌套后經(jīng)調(diào)試不能使用。
處理方法,在一個用戶功能塊中掃描執(zhí)行8個數(shù)據(jù)相同的校驗。