资源简介
西门子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
- 上一篇:完整的misra c 测试包
- 下一篇:从文件读取数据并用OPENGL画图
评论
共有 条评论