欢迎来到天天文库
浏览记录
ID:62981304
大小:148.00 KB
页数:8页
时间:2021-07-23
《最新C#与PLC通信程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品资料C#与PLC通信程序........................................精品资料C#与PLC通信程序........................................精品资料C#与PLC通信程序........................................精品资料[DllImport("w95_s7.dll")]privateexternstaticintload_tool(bytenr,stringdevice,byte[,]adr_table);对“打开PLC连接函数”进行简
2、单的C#封装后代码如下:///建立连接,同一个连接只容许调用一次//////连接号connNo为1-4///连接参数,PLCConnParam定义的参数结构体///返回10进制错误号,0表示没有错误publicstaticintOpen(byteconnNo,PLCConnParam[]connParam){intPLCCPUCnt=connParam.L
3、ength;if(PLCCPUCnt<=0)//传递参数不正确{........................................精品资料return-1;}byte[,]btr=newbyte[PLCCPUCnt+1,4];//多分配1个,用于存放0作为连接结束标记//转换连接表for(inti=0;i4、;}btr[connParam.Length,0]=0;btr[connParam.Length,1]=0;btr[connParam.Length,2]=0;btr[connParam.Length,3]=0;//调用初始化函数,打开连接interrCode=load_tool(connNo,"S7ONLINE",btr);returnerrCode;}publicstructPLCConnParam........................................精品资料{publicbyteAddres;//定义CPU的MPI5、/DP地址//publicbyteSegmentId;//保留为0publicbyteRack;//定义CPU的机架号publicbyteSlot;//定义CPU的槽号}publicenumPLCBlockType{I=1,//InputbytesQ=2,//OutputbytesM=3,//FlagbytesT=4,//TimerwordsZ=5,//CounterwordsD=6,//DatafromDB}[DllImport("w95_s7.dll")]privateexternstaticintload_tool(bytenr,strin6、gdevice,byte[,]adr_table);////////////........................................精品资料///publicstaticintOpen(byteconnNo,PLCConnParam[]connParam){intPLCCPUCnt=connParam.Length;if(PLCCP7、UCnt<=0){return-1}byte[,]btr=newbyte[PLCCPUCnt+1,4]for(inti=0;i8、gth,3]=0;........................................精品资料interrCode=load
4、;}btr[connParam.Length,0]=0;btr[connParam.Length,1]=0;btr[connParam.Length,2]=0;btr[connParam.Length,3]=0;//调用初始化函数,打开连接interrCode=load_tool(connNo,"S7ONLINE",btr);returnerrCode;}publicstructPLCConnParam........................................精品资料{publicbyteAddres;//定义CPU的MPI
5、/DP地址//publicbyteSegmentId;//保留为0publicbyteRack;//定义CPU的机架号publicbyteSlot;//定义CPU的槽号}publicenumPLCBlockType{I=1,//InputbytesQ=2,//OutputbytesM=3,//FlagbytesT=4,//TimerwordsZ=5,//CounterwordsD=6,//DatafromDB}[DllImport("w95_s7.dll")]privateexternstaticintload_tool(bytenr,strin
6、gdevice,byte[,]adr_table);////////////........................................精品资料///publicstaticintOpen(byteconnNo,PLCConnParam[]connParam){intPLCCPUCnt=connParam.Length;if(PLCCP
7、UCnt<=0){return-1}byte[,]btr=newbyte[PLCCPUCnt+1,4]for(inti=0;i8、gth,3]=0;........................................精品资料interrCode=load
8、gth,3]=0;........................................精品资料interrCode=load
此文档下载收益归作者所有