-
大小: 17KB文件類型: .c金幣: 1下載: 0 次發(fā)布日期: 2021-01-07
- 語言: C/C++
- 標簽:
資源簡介
西門子S7-200的通訊協(xié)議源代,支持復(fù)合多區(qū)塊讀取和單區(qū)塊的寫入,已經(jīng)驗證過和S7-200的通訊,目前支持M和VB,VW,VD,需要支持其他的寄存器請參考網(wǎng)上的寄存器定義
代碼片段和文件信息
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
評論
共有 條評論