其他分享
首页 > 其他分享> > 一款好用的PLC接口开源库,OneApiConnect

一款好用的PLC接口开源库,OneApiConnect

作者:互联网

毕业后进入第一家公司,编写C#开发的上位机软件,主要工作之一是对接PLC,用C#对接PLC是非常繁琐的工作内容,需要学习和编程接口。

公司已有的库高度化和原有项目亲密结合,老板的一句话,代码随便流出去,能用就行。

我这种孤独无助的情况下,在网上发现一款开源接口OneApiConnect,试用一下发现没有什么问题,读取和写入数据都成功,OneApiConnect使用起来也非常容易,读写效率这方面也非常的好。

#pragma once


//
//    网站 www.semisecs.com
//    广州金南瓜科技有限公司保留版权
// 

#ifndef __MC_MEMEORY_DATA__
#define __MC_MEMEORY_DATA__

// 内存数据类型:软元件
namespace MC_DATA_TYPE
{
    enum ENUM
    {
        ERR = 0x00,        // 错误
        D = 0xA8,        // 数据寄存器
        W = 0xB4,        // 链接寄存器        
    };
}

// CPU类型
namespace MELSEC_CPU_TYPE
{
    enum ENUM
    {
        Other = 0,    // 其他如FX5U
        L,            // L CPU
        Q,            // Q CPU
        QnA,        // QnA CPU        
    };
}

#endif


// 三菱MC协议
class CMelsecCommunicationExport
{
public:
    // 初始化
    virtual __int32 Init()=0; 

    // 释放
    virtual void Release()=0; 

public:

    virtual void SetParam(const char* pType, const char* pValue)=0;                    // 参数    

    // 读数据    
    virtual __int32 ReadByteData(__int32 nAddr, __int32 nSize, __int8* pData, __int32 nDataType)=0;        // 1字节            
    virtual __int32 ReadShortData(__int32 nAddr, __int32 nSize, __int16* pData, __int32 nDataType)=0;    // 2字节            
    virtual __int32 ReadIntData(__int32 nAddr, __int32 nSize, __int32* pData, __int32 nDataType)=0;        // 4字节

    // 写数据
    virtual __int32 WriteByteData(__int32 nAddr, __int32 nSize, __int8* pData, __int32 nDataType)=0;        // 1字节
    virtual __int32 WriteShortData(__int32 nAddr, __int32 nSize, __int16* pData, __int32 nDataType)=0;        // 2字节
    virtual __int32 WriteIntData(__int32 nAddr, __int32 nSize, __int32* pData, __int32 nDataType)=0;        // 4字节                                        
    
};

```cpp
#include "stdafx.h"
#include "McHandle.h"


//
//    网站 www.semisecs.com
//    广州金南瓜科技有限公司保留版权
// 

CMcHandle::CMcHandle()
{
    SetFrameType(MC_3E_FRAME);        
    m_nMaxOneRead = 32;
    m_nMaxOneWrite = 10;
}

标签:__,int32,OneApiConnect,pData,virtual,开源,PLC,nAddr,nDataType
来源: https://blog.csdn.net/semij/article/details/122467425