大地资源网视频在线观看新浪,日本春药精油按摩系列,成人av骚妻潮喷,国产xxxx搡xxxxx搡麻豆

您現在的位置:智能制造網>技術中心>西門子S7-300 PLC與模擬屏串行通信

直播推薦

更多>

企業動態

更多>

推薦展會

更多>

西門子S7-300 PLC與模擬屏串行通信

2009年03月12日 15:13:12人氣:1137來源:煙臺勾股通信技術有限公司

  1 引言
  模擬屏能簡單、明了地反映現場的實時數據和狀態信息,應用十分廣泛。為了使現場信息及時、準確、動態地顯示在模擬屏上,要求數據采集設備和模擬屏之間進行通信。
  現場信息量比較大,如果每個信號都獨立連接到模擬屏,信號線數量多、耗線多,不經濟,走線不便,故障率高,采用串行通信可克服以上缺點。
  現在通信方式多種多樣、速度越來越快,但串行通信在控制范疇一直占據著極其重要的地位。它不僅沒有因時代的進步而淘汰,反而在規格上越來越完善、應用越來越廣,長久不衰。與并行通信相比,它傳輸速度慢(并行一次傳8位,串行傳1位),但并行通信數據電壓傳輸過程中,容易因線路因素使標準電位發生變化(常見的電壓衰減、信號間互相串音干擾)。傳輸距離越遠,問題越嚴重、數據錯誤越容易發生。相比之下,串行通信處理的數據電壓只有一個標準電位,數據不易漏失。
  常用的串行通信有兩種,一種為rs232,另一種為rs422/485。工業環境常會有噪聲干擾傳輸線路,在用rs232進行數據傳輸時,經常會受到外界電氣干擾而使信號發生錯誤。rs232串行通信的信號標準電位是參考接地端而來的,干擾信號在原始信號和地線上均會產生影響,原始信號加上干擾信號后,依然傳送到接收端,而地線部分的信號則不能傳送到接收端。因此,信號便發生了扭曲。rs422/485傳輸的是差分信號,在發送端分成正負兩部分,到達接收端通過相減,還原成原來信號,兩條信號線受到的干擾的程度相同,這就防止了噪聲干擾。本文以plc和模擬屏通信為例介紹通過rs485實現點對點串行通信。
  2 模擬屏的通信規約及設備
  (1) 通信規約
  rs232c/485串行口:速率9600bps,1位起始位,8位數據位,1位停止位,無奇偶校驗位;傳輸報文內容以字節為單位,在信道中的傳送順序是:低字節先送,高字節后送;字節內低位先送,高位后送;數據格式為16進制數;異步通信。
  (2) 設備
  開關量處理器;開關量指示燈;模擬量處理器;模擬量顯示器;時鐘;通信處理器;*控制器
  3 信息傳輸途徑設備和功能
  (1) 途徑:數據采集通過plc完成,plc向模擬屏傳輸數據,控制模擬屏狀態。rs485連接圖如圖1所示:
   

  圖1 rs485連接電纜圖
  (2) 主要相關設備:*處理器cpu 314;點到點通信模塊cp341-rs422/485。
  (3) 功能:—向模擬屏發送模擬量數據;—向模擬屏發送開關量信息;—控制屏狀態,包括:全屏亮暗、全屏信號分合、 變位幀閃光;—設定和改變時鐘時間。
  4 通信實現的方法
  4.1 初始化
  就串行通信而言,交換數據的雙方利用傳輸在線的電壓改變來達到數據交換的目的。如何從不斷改變的電壓狀態中解析出其中的信息,雙方必須有一套共同的譯碼方式,遵守一定的通信規則。這就是通信端口初始化。
  通信端口初始化有以下幾個項目必須設置或確認:
  (1) 通信模式
  串行通信分同步和異步兩種模式。同步傳輸在通信的兩端使用同步信號作為通信的依據,異步傳輸則使用起始位和停止位作為通信的判斷。模擬屏通信模式:異步傳輸;西門子plc通信模式:異步傳輸;二者通信模式相同。
  (2) 數據的傳輸速率
  異步通信雙方并沒有一個可參考的同步時鐘作為基準。這樣雙方傳送的高低電位代表幾個位就不得而知了。要使雙方的數據讀取正常,就要考慮到傳輸速率。收發雙方通過傳輸在線的電壓改變來交換數據,但發送端發送的電壓改變的速率必須和接收端的接受速率保持一致。模擬屏的通信速率:9600bps;西門子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,將plc波特率設為:9600bps
  (3) 起始位及停止位
  當發送端準備發送數據時,會在所送出的字符前后分別加上高電位的起始位及低電位的停止位。接收端會因起始位的觸發而開始接收數據,并因停止位的通知而確定數據的字符信號已經結束。起始位固定為1位,而停止位則有1,1.5,2等多種選擇。模擬屏的停止位: 1位;西門子plc的停止位:1位或2位。初始化,將plc數據停止位設為:1位。
  (4) 數據的發送單位
  不同的協議會用到不同的發送單位(歐美一般用8位、日本一般用7位組成一字節),使用幾位合成一字節,雙方必須一致。模擬屏的數據發送單位: 8位為一字節;西門子plc的數據發送單位:7位或8位為一字節。初始化,將plc數據發送單位設為:8位。
  (5) 校驗位的檢查
  為了預防錯誤的產生,使用校驗位作為檢查的機制。校驗位是用來檢查所發送數據正確性的一種校對碼,它分奇偶校驗,也可無校驗。模擬屏校驗位:none;西門子plc校驗位:none,odd,even;初始化,將plc校驗位設為:none。
  (6) 工作模式
  交換數據是通過一定的通信線路來實現的。微機在進行數據的發送和接收時通信線路上的數據流動方式有三種:單工、半雙工、全雙工。rs232和rs422使用全雙工模式,rs485使用半雙工模式。模擬屏工作模式:rs232全雙工/rs485半雙工;西門子plc工作模式:rk512 全雙工四線制(rs422);3964r全雙工四線制(rs422);ascii全雙工四線制(rs422);ascii半雙工兩線制(rs 485);初始化,將plc工作模式設為:ascii半雙工兩線制(rs485)。
  (7) 數據流控制—握手
  傳輸工作進行時,發送速度若大于接收速度,而接收端的cpu處理速度不夠快時,接收緩沖區就會在一定時間后溢滿,造成后來發送過來的數據無法進入緩沖區而漏失。采用數據流控制,就是為了保證傳輸雙方能正確地發送和接收數據,而不會漏失。數據流控制一般稱為握手,握手分為硬件握手和軟件握手。模擬屏數據流控制:none;西門子plc數據流控制:none。要通過用戶程序詢問和控制。
  (8) 錯誤預防—校驗碼
  在傳輸的過程中,數據有可能受到干擾而使原來的數據信號發生扭曲。為了監測數據在發送過程中的錯誤,必須對數據作進一步的確認工作,zui簡單的方式就是使用校驗碼。模擬屏校驗碼:異或校驗和。要在plc上編校驗碼程序。
  4.2 數據發送
  (1) 將同步字及測量值db36.dbw21開始的數據送到db42.dbw12開始的數據區去,為向串口發送做準備。程序如下:
  遙測*幀(fc36)
  l w#16#eb90
  傳送兩次同步字eb90,分別給db42.dbw12和db42.dbw14
  t db42.dbw12
  l w#16#eb90
  t db42.dbw14
  l b#16#61
  //將報文類型字“61”送給db42.dbb16
  t db42.dbb16
  l w#16#100
  //*幀將起始地址“0100”送給db42.dbw17
  t db42.dbw17
  //第二幀將起始地址“0120”送給db42.dbw17
  l w#16#40
  //將正文字節數“40”(64字節)送給db42.dbw19
  t db42.dbw19
  l db36.dbw21
  //*幀將db36.dbw21開始的32個字的模擬量
  caw 送到db42.dbw21開始的區域
  t db42.dbw21
  l db36.dbw23
  caw
  t db42.dbw23
  …………………
  l db36.dbw83
  caw
  t db42.dbw83
  opn db42 //遙信校驗
  l p#17.0 //第二幀與*幀相同
  t md100
  l dbw[md100]
  t mw10
  l 33
  t mw16
  l mw16
  next: t mw12
  l md100
  l p#2.0
  +d
  t md100
  l dbw[md100]
  l mw10
  xow
  t mw10
  l mw12
  loop next
  l md100
  l p#2.0
  +d
  t md100
  l mw10
  t mw14
  l mw14
  slw 8
  t dbw[md100]
  l mw10
  aw w#16#ff00
  t mw10
  l mw10
  l dbw[md100]
  xow
  t dbw[md100]
  l dbw16
  t mw18
  l mw18
  aw w#16#ff00
  t mw18
  l mw18
  l dbw[md100]
  xow
  t dbw[md100]
  (2) 將db42.dbw12開始,長度為95個字的數據送到串行端口,程序如下:
  //supply laddr, db_no,dbb_no,len
  l 256 // laddr
  t db40.dbw2
  l 42 // db_no
  t db40.dbw4
  t db42.dbw4
  l 12 // dbb_no
  t db40.dbw6
  t db42.dbw6
  l 95 // len
  t db40.dbw8
  t db42.dbw8
  //send with instance-db
  call fb8 , db21
  sf :=’s’
  req :=db40.dbx0.0
  r :=db40.dbx0.1
  laddr :=db40.dbw2
  db_no :=db40.dbw4
  dbb_no :=db40.dbw6
  len :=db40.dbw8
  r_cpu_no:=
  r_typ :=
  r_no :=
  r_offset :=
  r_cf_byt :=
  r_cf_bit :=
  done :=db40.dbx0.4
  error :=db40.dbx0.5
  status :=db40.dbw12
  // generate edge p_snd_rk_req
  an db40.dbx0.0 // p_snd_rk_req
  s db40.dbx0.0
  // set p_snd_rk_req
  o db40.dbx0.4 // p_snd_rk_done
  o db40.dbx0.5 // p_snd_rk_error
  r db40.dbx0.0 // p_snd_rk_req
  // check “complete without error”
  an db40.dbx0.4
  // check p_snd_rk_done if p_snd_rk_done equals 0,
  jc cher
  // jump to cher and check p_snd_rk_error
  //”complete without error”
  // p_snd_rk_done=1
  l db42.dbw0
  //“complete without error”
  +1 // increment counter
  t db42.dbw0
  nop //further user function
  nop
  nop
  be
  // check “complete with error”
  // p_snd_rk_error=1
  cher: an db40.dbx0.5
  //check p_snd_rk_error
  bec //if no error occurred, jump to end
  //“complete with error”
  l db42.dbw2
  //“complete with error”
  +1 //increment counter
  t db42.dbw2
  l db40.dbw12
  t db40.dbw14 //save status
  nop //error-handling
  nop
  nop
  be
  (3) 數據刷新,程序如下:
  an m2.4
  l s5t#100ms
  sd t0
  a t0
  jnb _007
  l w#16#1
  l md4
  rrd
  t md4
  set
  save
  clr
  _007: a br
  = l20.0
  a l20.0
  a(
  l md4
  l l#0
  ==d
  )
  jnb _008
  l 1
  t md4
  _008: nop 0
  a l20.0
  bld 102
  = m2.4
  a(
  o m5.0
  o m6.4
  )
  jnb _003
  call fc36
  _003: nop 0
  a(
  o m4.0
  o m5.4
  )
  jnb _004
  call fc38
  _004: nop 0
全年征稿/資訊合作 聯系郵箱:1271141964@qq.com

免責聲明

  • 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
  • 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
  • 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

<
更多 >

工控網機器人儀器儀表物聯網3D打印工業軟件金屬加工機械包裝機械印刷機械農業機械食品加工設備制藥設備倉儲物流環保設備造紙機械工程機械紡織機械化工設備電子加工設備水泥設備海洋水利裝備礦冶設備新能源設備服裝機械印染機械制鞋機械玻璃機械陶瓷設備橡塑設備船舶設備電子元器件電氣設備


我要投稿
  • 投稿請發送郵件至:(郵件標題請備注“投稿”)1271141964.qq.com
  • 聯系電話0571-89719789
工業4.0時代智能制造領域“互聯網+”服務平臺
智能制造網APP

功能豐富 實時交流

智能制造網小程序

訂閱獲取更多服務

微信公眾號

關注我們

抖音

智能制造網

抖音號:gkzhan

打開抖音 搜索頁掃一掃

視頻號

智能制造網

公眾號:智能制造網

打開微信掃碼關注視頻號

快手

智能制造網

快手ID:gkzhan2006

打開快手 掃一掃關注
意見反饋
關閉
企業未開通此功能
詳詢客服 : 0571-87858618
主站蜘蛛池模板: 仪陇县| 文水县| 温州市| 许昌县| 奉化市| 高密市| 特克斯县| 揭阳市| 专栏| 长汀县| 大方县| 连南| 绥芬河市| 融水| 焉耆| 平顺县| 沂水县| 大渡口区| 拜城县| 门头沟区| 仙桃市| 象州县| 疏附县| 盐源县| 东城区| 红桥区| 黔南| 三都| 天柱县| 延川县| 神木县| 比如县| 赫章县| 夏津县| 金秀| 扶风县| 山丹县| 庆阳市| 大姚县| 海南省| 阜阳市|