• 大小: 17KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: C/C++
  • 标签:

资源简介

西门子S7-200的通讯协议源代,支持复合多区块读取和单区块的写入,已经验证过和S7-200的通讯,目前支持M和VB,VW,VD,需要支持其他的寄存器请参考网上的寄存器定义

资源截图

代码片段和文件信息

HANDLE	PPI_UART_CommunPort;
int PPI_Commun_State;
bool ReInitFlag;

#define READ_REG1 0
#define WRITE_REG1 1
#define WRITE_REG2 2
#define WRITE_REG3 3

#define PPI_M_REG 1
#define PPI_VB_REG 2
#define PPI_VW_REG 3
#define PPI_VD_REG 4

typedef struct{
BYTE reg_type;
DWORD reg_addr;
DWORD reg_len;
void *reg_value;
}PPI_Request_Unit;

#define MAX_PPI_REQUEST_NUM 8
PPI_Request_Unit PPI_Request[MAX_PPI_REQUEST_NUM];

BYTE PPI_Commun_Buffer[256] = {0};

BYTE PLC_Addr; //PLC通讯地址
BYTE Local_Addr; //本机通讯地址

void PPI_Uart_Close(void)
{
if(PPI_UART_CommunPort != INVALID_HANDLE_VALUE)
{
CloseHandle(PPI_UART_CommunPort);
}
}

bool PPI_Uart_Open(void)
{
DCB dcb;
COMMTIMEOUTS CommTimeOuts;

PLC_Addr = 2; //PLC通讯地址
Local_Addr

评论

共有 条评论

相关资源