午夜三级做爱黄片,午夜福利小视频,午夜国产成人精品,午夜黄色在线视频 - www.atkqc.com

由于操作過于頻繁饮戳,請點擊下方按鈕進行驗證候隘!

VB環(huán)境下利用并口實現(xiàn)PLC控制

導讀: 本文分析的系統(tǒng)摹菠,把普通并口實現(xiàn)了一個4輸入8輸出數(shù)字量的功能伟蕾,切不需任何投資费犯。們先對打印機的并行口做一下細致的分析。配有一個并口的計算機經(jīng)系統(tǒng)引導后沫跨,初始化過程把并行端口配置成lpt1仿扩,這個端口又分配了數(shù)據(jù)地址378h, 狀態(tài)地址379h祖销。

 

1 引言

  普通的計算機一般都配有并行接口(就是通常用的打印機接口)种鳖,它是通過25芯的d型接頭連接打印機與計算機的,計算機的并行接口不僅可以向打印機發(fā)送數(shù)據(jù)夕荆,還可以從打印機接收數(shù)據(jù)(打印的工作狀態(tài))哈滥。因此伶肚,利用計算機的并行接口,你可以去控制外部繼電器的吸合辈畜,從而控制外部設備侄含,同樣可以利用它來檢測外部設備的狀態(tài)。不需添加任何硬件洽腊。從而使一臺普通的計算機具有“plc”的開關量的功能褒醒。

  本文分析的系統(tǒng),把普通并口實現(xiàn)了一個4輸入8輸出數(shù)字量的功能池摧,切不需任何投資焦除。們先對打印機的并行口做一下細致的分析。配有一個并口的計算機經(jīng)系統(tǒng)引導后作彤,初始化過程把并行端口配置成lpt1膘魄,這個端口又分配了數(shù)據(jù)地址378h, 狀態(tài)地址379h竭讳。其中378h端口做輸出端口创葡,379h端口做輸入端口。

2 并口數(shù)據(jù)采集控制原理

 【盥(1) 端口378h灿渴,378h的管腳見表1。

  在計算機通電后的自然狀態(tài)胰舆,378h端口的每個數(shù)據(jù)位為1骚露,表1中每個管腳對地(25腳)為高電平5v。即378h地址的內(nèi)容為ff(十進制是255)缚窿,當控制378h的內(nèi)容為1(十進制)二進制碼是00000001時棘幸,即2腳對地輸出高電平,其它對地是0電平妨舟。如控制378h的內(nèi)容為2(十進制)二進制碼是00000010问乌,即3腳對地輸出高電平,其它對地是0電平肌顾。如控制378h的內(nèi)容為3(十進制)二進制碼是00000011姨猖,即2、3腳對地輸出高電平冕盅,其它對地是0電平。依次類推驼凌。

  當某管腳對地是高電平5v時宇颊,由于每條數(shù)據(jù)線的輸出電流高達20ma,可以接5v的直流繼電器唾姊,通過繼電器的觸點在去控制其它的設備传悍,如電磁閥梦柬、電機等。圖1是用打印機并行接口實現(xiàn)的繼電器控制電路幻狈,此電路稍加修改即可用于其它設備的開關控制磺送。

  (2) 端口379h灿意,379h的管腳見表2估灿。

  在計算機通電后的自然狀態(tài),379h端口的數(shù)據(jù)位第7位是0缤剧,其余每個數(shù)據(jù)位為1馅袁,即上述每個管腳對地(25腳)為高電平5v。即379h地址的內(nèi)容為127(十進制)二進制碼是01111111荒辕。當只把某管腳(如10腳)通過500ω的電阻接到25腳汗销,則它所對應的數(shù)據(jù)位是0,其它的數(shù)據(jù)位不變抵窒,則379h的內(nèi)容為63(十進制)二進制碼是00111111弛针。當只把某管腳(如12腳)通過500ω的電阻接到地25腳,則它所對應的數(shù)據(jù)位是0李皇,其它的數(shù)據(jù)位不變钦奋,則379h的內(nèi)容為95(十進制)二進制碼是01011111依次類推。

  圖2是用打印機并行接口實現(xiàn)的開關檢測控制電路疙赠,當k斷開時付材,379h為127(十進制),當k閉合時鼠废,379h為111(十進制)二進制數(shù)是01101111帜焰,即13腳所連接的第4數(shù)據(jù)位為0。

3 軟件實現(xiàn)

  vb是一種可視化的編程語言络蜘,自面世以來味爷,因簡單易用倍受廣大編程人員的青睞,作為一種非常方便的windows95應用程序開發(fā)平臺与沪,可以實現(xiàn)windows的絕大部分功能嫩属。

  vb中沒有專門的對并口的操作控件,要實現(xiàn)對并口的讀寫陨柴,需要對i/o進行操作瞄惑,但對硬件進行訪問以及利用各種控制接口板進行數(shù)據(jù)采集,僅靠vb是無法解決的苞番。解決這樣的問題可以間接使用動態(tài)鏈接庫dll(dynamic link library)來實現(xiàn)漓楣。程序人員利用dll可以實現(xiàn)應用程序共享代碼和資源,dll與用戶的程序完全分開锭化。

  動態(tài)鏈接庫(dll)雖然是一個可執(zhí)行模塊链患,但它并不可以直接運行巧鸭,它只是提供一群函數(shù)供windows應用程序或其它動態(tài)鏈接庫調(diào)用,以完成其特殊任務麻捻。由于動態(tài)鏈接庫是在應用程序運行期間被連接起來的纲仍,故稱為動態(tài)鏈接庫。本設計用vc++設計了一個讀寫io端口的動態(tài)鏈接庫io.dll贸毕。

  筆者利用vc++5.0開發(fā)的dll的完整的程序清單如下:

  ∥dll源文件i0.cpp

  #include

  #include

  int far pascal outport(unsigned)

  short sport);

  int far pascal outport(unsigned short port郑叠,int databyte);

  ∥d11entrypoint函數(shù)

  bool winapi d11entrypoint

  (hinstance hd11崖咨,

  dworddwreason锻拘,

  lpvoid reserved)

  {

  switch(dwreason)

 』鞫住{

  case dll_process_attach:

 ∈鹉狻{

  break;

  }

  case dll_process_detach:

 「璨颉{

  break;

 ⊥魄睢}

  }

  return true;

 ∧贰}

  ∥兩個功能函數(shù)

  int far pascal inport(unsigned short port)

 〗透А{

  reture(_inp(prot);

  )

  int far pascal outport(unsigned short port猩肪,int databyte)

 ∏材馈{

  int a;

  a=_outp(port,databyte);

  return a;

 】踉恪}

  ∥模塊定義文件(暫不可見)f

  code preload moveable discardable

  data preload single

  exports

  inport

  outport

  動態(tài)鏈接庫只有在別的模塊中調(diào)用了它的某個函數(shù)以后芜醉,該動態(tài)鏈接庫才發(fā)生作用。dll函數(shù)或過程必須在全局模塊(*.bas)中正確說明才有效巾鹰。vb是用declare語句把一個dll函數(shù)引入vb中的屠睡,它告訴vb在哪里找到dll函數(shù),并且讓vb知道dll需要哪種類型的參數(shù)其摘,同時返回哪種類型的值受二。當某個dll函數(shù)用declare語句正確聲明以后,就可以像使用其它函數(shù)一樣使用這個dll函數(shù)均天。

  在vb應用程序的全局模塊中聲明i0.dll并將其放入windows\system目錄下画鉴,這樣就可以向使用windows

  api一樣使用i0中的inport(輸入)和outport(輸出)函數(shù)了。

  declare function inport lib“io.d11”

 ≈缱辍(byval prot as integer)as long

  declare function outport lib“io.d11”

 〉拧(byval port as integer,byval

  databyte as long)as long

  下面的程序?qū)D1和圖2的例子進行設計然评。(只列出輸入輸出的讀寫操作程序)

  private sub 輸入_click

  x=inport(&h379)

  print x

  end sub

  private sub輸出_click

  y=outport(&h378仅财,1)

  end sub

4 結(jié)束語

  并口25管腳中,作輸出用的是2~9共8個管腳碗淌,作輸入用的10盏求、12、13亿眠、15共4個管腳碎罚,25腳地,利用并口可方便的實現(xiàn)了4入8出的開關量控制纳像。

  在上位機中采用vb等語言編程荆烈,利用計算機的并口,巧妙地實現(xiàn)plc的開關量功能竟趾,而且可利用vb等語言的界面設計的功能憔购,使系統(tǒng)做到監(jiān)控一體。且系統(tǒng)不需額外的投資回象,使用靈活簡單罚琅,可靠性高。


聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)东呻,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡分享南谈,并不代表本站贊同其觀點和對其真實性負責,也不構成任何其他建議草吠。本站部分作品是由網(wǎng)友自主投稿和發(fā)布国谬、編輯整理上傳,對此類作品本站僅提供交流平臺燎隅,不為其版權負責程堤。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片量票、文字如涉及作品版權問題人度,請第一時間告知,我們將根據(jù)您提供的證明材料確認版權并按國家標準支付稿酬或立即刪除內(nèi)容来讯,以保證您的權益拉氧!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。

網(wǎng)友評論 匿名:

分享到