无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
VC環境下三菱PLC與微機的串行通信
成都海科工控有限公司
收藏本文     查看收藏
    可編程控制器(PLC)是集計算機技術、自動控制技術、通信技術為一體的新型自動控制裝置。由于體積小、可靠性高以及組態靈活等優點,PLC在工業控制領域得到了廣泛的應用。將PC機與可編程控制器組合起來,充分利用PC機強大的人機接口功能、豐富的應用軟件和低廉的價格來共同實現管理、控制一體化成為一個新的發展趨勢。本文重點介紹在Windows 2000環境下如何利用VC來實現PC機與三菱PLC之間的串行通訊。
1 三菱PLC與計算機之間通信協議
FX2系列PLC與計算機之間的通信采用RS-232標準,其傳輸速率固定為9600bps,奇偶校驗位采用偶校驗。數據格式如表1所示。數據以幀為單位發送和接收。一個多字符幀由圖1所示的五部分組成,其中和校驗值是將命令碼STX——ETX之間的字符的ASCII碼(十六進制數)相加,取得所得和的最低二位數。STX和ETX分別表示該字符幀的起始標起和結束標志。


(1) 起始字元(STX):ASCII碼的起始字元STX對應的16進制數位0x02。無論命令信息還是回應信息,它們的起始字元均為STX,接收方以此來判知傳輸資料的開始。
(2) 命令號碼:為兩位16進制數。所謂命令號碼是指上位機要求下位機所執行的動作類別,例如要求讀取或寫入單點狀態、寫入或讀取暫存器資料、強制設定、運行、停止等。在回應信息中,下位機會將上位機接收到的命令號碼原原本本的隨同其它信息一同發送給上位機。
(3) 元件首地址:對應要操作的元件的相應的地址。如從D123單元中讀取數據時,要把它對應的地址:0x10F6發送給PLC。
(4) 元件個數:一次讀取位元件或字元件的數量。
(5) 結束字元(ETX):ASCII碼的結束字元ETX對應的16進制數為0x03。無論命令信息還是回應信息,它們的結束字元均為ETX,接收方以此來判知此次通訊已結束。

(6) 校驗碼(Checksum):校驗碼是將STX-ETX之間的ASCII字元的16進制數值以“LRC(Longitudinal Redundancy Check)”法計算出1個Byte長度(兩個16進制數值00-FFH)的校驗碼。當下位機接收到信息后,用同樣的方法計算出接收信息的校驗碼,如果兩個校驗碼相同,則說明傳送正確。
FX2系列與計算機之間的通信是以主機發出的初始命令,PLC對其做出響應的方式進行通信的。共有0、1、7、8四種命令,上位機實現對PLC的讀寫和強行置位。通過ENQ、ACK和NAK,上位機協調與PLC的通信應答。
2 編程口操作命令類型
串行通信是計算機與其他機器之間進行通信的一種常用方法,在Windows操作系統中提供了實現各種串行通信的API函數。通過SC-09編程電纜或FX-232-BD通訊模塊,可以將PC機和計算機串行通信口RS-232連接起來,可以實現PC機對PLC的RAM區數據進行讀、寫操作。根據PLC本身所具有的特性,計算機可對PLC進行以下4種類型的操作:
(1) 位元件或字元件狀態讀操作(CMD0);
  (2) 位元件或字元件狀態寫操作(CMD1);
  (3) 位元件強制ON操作(CMD7);
  (4) 位元件強制OFF操作(CMD8)。
3 軟件編程
(1) 串行通信實現方法
 在進行以上四種操作之前要對串行通信口進行必要的初始化。本人采用了一個專門針對串行通信的CSerial類,并在Open函數中進行了進一步的完善。它由MuMega Technologies公司提供的一個Visual C++類,我們只要理解CSerial類種的幾個成員函數,就能很方便地實現串行通信了。以下是該類定義:
class CSerial
{
public:
 CSerial();
 ~CSerial();
 BOOL Open( int nPort , int nBaud,int nParity,int nByteSize,int nStopBits );
 BOOL Close( void );
 int ReadData( void *, int );
 int SendData( const char *, int );
 int ReadDataWaiting( void );
 BOOL IsOpened( void ){ return( m_bOpened ); }
protected:
 BOOL WriteCommByte( unsigned char );
 HANDLE m_hIDComDev;
 OVERLAPPED m_OverlappedRead, m_OverlappedWrite;
 BOOL m_bOpened;
};
① Serial::Open這個成員函數打開通信端口。帶五個參數,第一個是串口號,第二個參數是數據傳輸速率,第三個是數據效驗方式,第四個是數據位數,第五個是數據停止位。
② Serial::Close函數關閉通信端口。
③ CSerial::SendData函數把數據從一個緩沖區寫到串行端口。第一個參數是緩沖區指針,其中包含要被發送的資料;第二個參數是發送的字節數。
④ CSerial::ReadData函數從斷口接收緩沖區讀入數據。第一個參數是緩沖區指針,資料將被放入該緩沖區;第二個參數緩沖區的大小。
(2) 位元件或字元件狀態讀操作
操作對象元件:PLC內部的X、Y、M、S、T、C、D元件;命令格式如表1;在發送完上述命令格式代碼后,就可以讀取PLC響應信息了。響應信息格式如圖2;



部分程序代碼:
BOOL CPlcComDlg::ReadPLC(char *Read, char *address, int bytes)
{
 CSerial Serial;
 char read_BUFFER;
 if(Serial.Open(m_com, m_Buad, m_Parity, m_Byte, m_StopBites))
 {
  Serial.SendData(&ENQ_request,1);//發送聯絡訊號
  Sleep(100);
  Serial.ReadData(&read_BUFFER,1);//讀取PLC響應訊號
  if(read_BUFFER==ACK)
  {
   //初始化變量
   //發送圖2命令格式代碼
ASCII(readdatasum_check,readdata_sum);
//將STX-ETX之間的字符相加,轉換成ASCII(十六進制),并取和的低二位數。
    if(*readdatasum_CHECK==*readdatasum_check)//和校驗
    { 
//對讀出的數據進行處理,轉換成整型數   
     for(int j=0;j<bytes/2;j++)
     {
      for(i=j*2;i<j*2+4;i++)
      Read[i]=(Read[i]>0x39)?(Read[i]-0x41+0xA):(Read [i]-0x30);
      Read_value[j]=(((((Read [j*4+2]<<4)+Read [j*4+3]))+Read [j*4+0])<<4)+Read [j*4+1];
     }
     return TRUE;
    }
    else
     return FALSE;
   }
  }
 }
}
//將整數轉換成ASCII(十六進制),并取低二位,
void CPlcComDlg::ASCII(char *total_databytes, int read_bytes)
{
 unsigned int uTmp;
 uTmp=read_bytes & 0x000f;
 total_databytes[1]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xA);
 uTmp=(read_bytes>>4) & 0x000f;
 total_databytes[0]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xA);
}
 (3) 位元件或字元件狀態寫操作
操作對象元件:PLC內部的X、Y、M、S、T、C、D元件;命令格式如圖3所示。


程序代碼(略)。
(4) 位元件強制ON操作
操作對象元件:PLC內部的X、Y、M、S、T、C元件;命令格式如圖4所示。

部分程序代碼如下:
 void CPlcComDlg::ForceOnOpreation(char *Address)
{
 CSerial Serial;
 char read_BUFFER;
 CString strtemp;
 if(Serial.Open(m_com,9600))
 {
  Serial.SendData(&ENQ_request,1);
  Sleep(100);
  Serial.ReadData(&read_BUFFER,1);
  if(read_BUFFER==ACK)
  { 
 //初始化變量
   //發送圖4命令格式代碼
ASCII(Sum_Check,sum); //將STX-ETX之間的字符相加,轉換成ASCII(十六進制),并取和的低二位數
   for(i=0;i<2;i++)
    Serial.SendData(&Sum_Check[i],1);//和校驗
   Sleep(100);
   Serial.ReadData(&read_buffer,1);
   if(read_buffer==ACK)
    return TRUE;
   else
return FALSE;
  }
 }
}
 (5) 位元件強制OFF操作
操作對象元件:PLC內部的X、Y、M、S、T、C元件;命令格式如圖5所示。


4 實時通訊控制界面
本程序能夠實現遠程控制FX系列PLC的運行。能讀取位元件的當前狀態,以及對它們置位和復位。能夠讀取字元件的值和往字元件寫值。并能自動連續讀取單個字元件的值。

 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 成都海科工控有限公司
聯 系 人: 劉慶生
電  話: 028-85291366
傳  真: 028-85291244
地  址: 成都九眼橋望江路1號中海大廈17層
郵  編: 610021
主  頁:
 
該廠商相關技術文摘:
使用AT命令調試調制解調器
變頻器在工程應用中需要注意的幾個問題
臺達變頻器全系列輸入和輸出電抗器數據
SLC08D22A數字式同步控制器
提高RS-485總線可靠性的方法及故障處理
編碼器PNP/NPN接口和臺達PLC的接口
差分型輸出接口和低電平有效PLC輸入接口電路
變頻調速系統的發展現狀與前景展望
硬件工程師基礎知識
變頻器調試快速制動調試要點
變頻器在工程應用中需注意的一些技術問題
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
999久久久亚洲| 欧美国产三级| 日韩一区二区三区精品| 91精品婷婷色在线观看| 国产不卡一区| 久久精品国产福利| 国产亚洲欧美日韩精品一区二区三区| 日韩在线观看不卡| 中文字幕成在线观看| 高清一区二区三区av| 国产视频一区二| 天堂va在线高清一区| 亚洲精品网址| 久久精品欧美一区| 久久视频一区| 亚洲韩日在线| 午夜日韩福利| 国产亚洲综合精品| 蜜桃久久av一区| 免费精品视频最新在线| 免费观看在线综合| 日本成人中文字幕| 免费精品一区| 深夜福利视频一区二区| 日韩在线二区| 午夜欧美理论片| 视频一区视频二区中文字幕| 日韩精品五月天| 国产欧美日韩一区二区三区四区| 国产精品亚洲综合色区韩国| 国产成人77亚洲精品www| 97精品国产| 欧美不卡视频| 日韩中文字幕在线一区| 国产福利一区二区三区在线播放| 98精品视频| 欧美日韩国产高清| 日本精品一区二区三区在线观看视频 | 欧美91福利在线观看| 亚洲午夜久久久久久尤物 | 电影91久久久| 日韩免费高清| 人人爽香蕉精品| 欧美国产精品| 久久天堂精品| 亚洲精品人人| 97国产成人高清在线观看| 久久天堂精品| 婷婷综合国产| 精品精品国产三级a∨在线| 久久精品青草| 国产精品毛片久久久| 日韩精品麻豆| 日韩精品免费观看视频| 国产欧美一区二区三区精品酒店| 亚洲一区国产一区| 97精品国产福利一区二区三区| 国产亚洲激情| 国产极品久久久久久久久波多结野 | 日本中文字幕视频一区| 久久精品亚洲| 亚洲一区中文| 亚洲风情在线资源| 日韩高清国产一区在线| 99国产精品久久久久久久 | 中文视频一区| 欧美日韩在线网站| 欧美黄页在线免费观看| 视频一区在线视频| 99久久亚洲精品| 久久精品国产福利| 亚洲91在线| 欧美 日韩 国产一区二区在线视频| 日本免费在线视频不卡一不卡二| 欧美手机在线| 日韩深夜视频| 免费视频一区二区三区在线观看 | 高清av一区| 日本欧美一区二区| 999精品一区| 国产美女高潮在线| 国产精品久久| 国产日韩视频| 日韩二区在线观看| 免费在线看一区| 激情欧美亚洲| 久久久久久久久久久9不雅视频| 国产成人免费精品| 精品国产成人| 国产成人免费av一区二区午夜| 奇米狠狠一区二区三区| 亚洲九九精品| 日韩欧美高清一区二区三区| 亚洲一区二区三区高清| 国产精品av久久久久久麻豆网| 91日韩欧美| 日韩欧美三级| 日韩在线高清| 激情综合亚洲| 99视频一区| 老司机精品久久| 亚洲欧美专区| 久久国产麻豆精品| 久久麻豆视频| 成人久久一区| 欧美成人亚洲| 爽好多水快深点欧美视频| 爽好多水快深点欧美视频| 亚洲中午字幕| 日本不卡中文字幕| 久久99精品久久久久久园产越南| 国产调教精品| 精品三级在线观看视频| 精品日本视频| 91精品在线观看国产| 狠狠干成人综合网| 在线国产日韩| 久久国产精品免费一区二区三区| 国产精品一区二区美女视频免费看| 国产亚洲精品精品国产亚洲综合 | 久久中文字幕av| 亚洲天堂黄色| 男女男精品网站| 国产精品v日韩精品v欧美精品网站 | 亚洲黄色免费看| 亚洲激情久久| 欧美日韩中文| 中文字幕高清在线播放| 尹人成人综合网| 69堂精品视频在线播放| 国产成人精品亚洲线观看| 亚洲成人一区| 国产乱码精品| 久久精品播放| 日韩av不卡在线观看| 高清一区二区三区av| 怡红院精品视频在线观看极品| 日本不卡一区二区三区| 国产成人免费av一区二区午夜| 久久在线视频免费观看| 午夜日韩影院| 亚洲综合电影| 日韩激情精品| 日韩一区二区三区免费播放| 在线综合欧美| 久久精品国产99国产| 99在线精品视频在线观看| 国产日韩欧美三级| 五月精品视频| 狂野欧美性猛交xxxx| 9色精品在线| 高清精品久久| 97久久中文字幕| 狠狠爱成人网| 亚洲国产欧美日本视频| 日韩av一区二| 视频一区二区三区在线| 亚洲国产福利| 国产精品一区二区三区美女| 欧美高清不卡| 捆绑调教日本一区二区三区 | 91成人福利| 欧美午夜不卡| 久久免费国产| 色婷婷综合网| 欧美国产先锋| 日韩免费精品| 久热re这里精品视频在线6| se01亚洲视频 | 卡一精品卡二卡三网站乱码| 日韩美女国产精品| 婷婷成人基地| 日韩欧美一区二区三区在线观看| 国产伦乱精品| 亚欧洲精品视频在线观看| 黄色欧美日韩| 婷婷亚洲五月| 亚洲二区三区不卡| 婷婷成人综合| 欧美日韩免费观看视频| 精品国产91| 精品国产一区二| 国产精品美女在线观看直播| 免费精品视频| 亚洲色图综合| 久久福利毛片| 欧美综合国产| 免费在线观看视频一区| 欧美一级专区| 日韩在线网址| 国产精品视频一区二区三区综合| 日本少妇精品亚洲第一区| 香蕉久久一区| 国产毛片精品久久| 国产精品视频3p| 国内揄拍国内精品久久| 蜜臀国产一区| 久久麻豆精品| 日韩一级网站| 综合激情网站|