當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC入門 >> RsLogix5000關(guān)于第三方模塊MVI56的編程開發(fā)實(shí)例
RsLogix5000關(guān)于第三方模塊MVI56的編程開發(fā)實(shí)例

在做濟(jì)鋼項(xiàng)目的時(shí)候遇到一個(gè)很大的挑戰(zhàn),第一濟(jì)鋼要求采用AB的RsLogix5000系列,第二該系統(tǒng)需要聯(lián)入本公司自己生產(chǎn)的紅外測(cè)位系統(tǒng)。由于我們的系統(tǒng)的通信協(xié)議是內(nèi)部協(xié)議,而AB的PLC不像西門子的200系列的PLC可以對(duì)自由口編程,可以很方便的獲取到數(shù)據(jù),而AB的則不然,目前AB已經(jīng)不在生產(chǎn)第三方接口的模塊,而有其合作的ProSoft公司專門生產(chǎn)第三方模塊。ProSoft生產(chǎn)的模塊有很多種,由于沒(méi)有經(jīng)驗(yàn),很不幸,我們選擇的是MVI56的模塊,而這個(gè)模塊卻是全部自由編程,不含有任何默認(rèn)協(xié)議。去退貨確要報(bào)價(jià)的30%作為補(bǔ)償,八個(gè)模塊要賠好幾萬(wàn),唉!... ...

      剩下的事,只有研究了,花了五千銀子,請(qǐng)了一個(gè)“專家”,對(duì)AB的產(chǎn)品非常熟。一星期后,終于有點(diǎn)眉目了,原來(lái)這個(gè)模塊就是一個(gè)典型的嵌入式系統(tǒng),相當(dāng)一個(gè)帶三個(gè)串口的386的電腦,操作系統(tǒng)為小型的DOS系統(tǒng)(TINY DOS),用C++為其開發(fā)程序。對(duì)DOS C我是非常熟的,可是如何與AB通信確不熟悉,幸好那個(gè)“專家”對(duì)此比較熟,我們二者一結(jié)合,果然成功了--效果出奇的好,不用AB PLC編一行代碼,就可以實(shí)現(xiàn)把數(shù)據(jù)寫入到變量區(qū)。下面是PLC的配置界面:

//基于 TINY DOS 的C++ 的核心通信程序

//*************************************************************************
//**函 數(shù) 名:Com_GetWHData
//**輸    入:intAddr  - 紅外標(biāo)尺地址
//**        :intState - 標(biāo)尺狀態(tài) 0~9  -1 表示校驗(yàn)錯(cuò)誤
//**輸    出:無(wú)
//**功能描述:獲取紅外標(biāo)尺的信息
//**全局變量:
//**調(diào)用模塊:
//**作    者:葉帆
//**日    期:2004-11-24 16:56:57
//**修 改 人:
//**日    期:
//**版    本:V1.0.0
//*************************************************************************
void Com_GetWHData(WORD *intAddr,WORD *intState)
{
    BYTE ch;
    BYTE bytData[6];
    BYTE bytFlag=0;
    BYTE bytNum=0;

    while(bytNum<7)
    {
 if (MVIsp_Getch(Commport,&ch,1000) != MVI_SUCCESS)
 {
   *intAddr=0;
   *intState=9;
   return;
 }
 if(bytFlag==1)
 {
    bytData[bytNum++]=ch;
 }

 if(ch==0xAC && bytNum==0)
 {
   bytFlag=1;    //開始接收
 }

    }

    //正副本校驗(yàn)
    if(bytData[0]==bytData[1] && bytData[2]==bytData[3] && bytData[4]==bytData[5])
    {
 //地址信息
 *intAddr=(bytData[0]>>4)*(WORD)10000+(bytData[0] & 0x0f)*(WORD)1000+(bytData[2]>>4)*(WORD)100+(bytData[2] & 0x0f)*(WORD)10+(bytData[4]>>4);
 //狀態(tài)信息
 *intState=(bytData[4] & 0x0f);
    }
    else
   {
 *intAddr=0;
 *intState=0xFF;
    }

}


//*************************************************************************
//**函 數(shù) 名:ProcessCommand
//**輸    入:無(wú)
//**輸    出:無(wú)
//**功能描述:命令處理
//**全局變量:
//**調(diào)用模塊:
//**作    者:葉帆
//**日    期:2004-11-24 16:56:57
//**修 改 人:
//**日    期:
//**版    本:V1.0.0
//*************************************************************************
int ProcessCommand(void)
{
    WORD intAddr;
    WORD intState;
    WORD intData[2];

    //讀取紅外標(biāo)尺信息
    Com_GetWHData (&intAddr,&intState);

   //MVIbp_SetUserLED(handle, MVI_LED_USER1, MVI_LED_STATE_OFF);

    //讀取背板數(shù)據(jù)(注意,AB PLC在配置模塊時(shí),輸出緩沖區(qū)的大小必須為0)
    if (MVI_SUCCESS == MVIbp_ReadOutputImage(handle, intData, 0, 2))
    {

     //數(shù)據(jù)改變或有效才寫入數(shù)據(jù)
     if (intState!=0xFF && (intData[0]!=intAddr ||intData[1]!=intState))
     {
        intData[0]=intAddr;
        intData[1]=intState;

        if (MVI_SUCCESS !=  MVIbp_WritebbbbbImage(handle,intData, 0, 2))
        {
     return(0);     //原來(lái)為1,現(xiàn)改為0  2005年6月8日
        }

        //MVIbp_SetUserLED(handle, MVI_LED_USER1, MVI_LED_STATE_ON);
     }

    }
    return(0);
}

------------------------------------------------------------
目前我敢說(shuō),只要還是基于這種模塊,只要知道協(xié)議,我就可以實(shí)現(xiàn)AB PLC與第三方模塊的通信。其實(shí)我也這樣做了,我用業(yè)余時(shí)間已經(jīng)實(shí)現(xiàn)了 Modbus Rtu協(xié)議,實(shí)際測(cè)試后,效果不錯(cuò)! 

作者:未知 點(diǎn)擊:1038次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:RsLogix5000關(guān)于第三方模塊MVI56的編程開發(fā)實(shí)例
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《RsLogix5000關(guān)于第三方模塊MVI56的編程開發(fā)實(shí)例》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

曾經(jīng)理 【求購(gòu)】  定制酒店香...  2025-12-12
張瑜 【求購(gòu)】  防靜電橡膠...  2025-12-12
劉強(qiáng) 【求購(gòu)】  保溫板  2025-12-12
曹先生 【求購(gòu)】  鎂合金  2025-12-12
趙經(jīng)理 【求購(gòu)】  防火密封膠  2025-12-12
A 【求購(gòu)】  鐵路接觸網(wǎng)...  2025-12-11
 【求購(gòu)】  西門子ET...  2025-12-11
唐多 【求購(gòu)】  DCS系統(tǒng)...  2025-12-11
VIP公司推薦