您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > OPC-访问三菱Q系列PLC方法
技术专题-OPC访问三菱Q系列PLC方法Author:ChonggaoYuQQ:Email:tjycg@163.com2011.11.07一、Q系列PLC经典配置例:二、PLC编程器件三、PLC过程控制程序设计的方法四、上位机对PLC数据的读写(控制数据写入,和控制数据的读出)五、VS008通过OPCserverPLC访问的方法一、Q系列PLC经典配置例:带串口,以太网络,16点输入,16点输出位置012345模块电源(固定)Q62PCPU(固定)Q02CPU串口QJ71C24N网络QJ71E71-100CCLINKQJ61BT11N输入QX40输出QY40P32位32位32位16位16位地址020406070程序访问地址X60X70二、PLC编程器件一般情况下,X代表输入继电器,Y代表输出继电器,M代表辅助继电器,SPM代表专用辅助继电器,T代表定时器,C代表计数器,S代表状态继电器,D代表数据寄存器,MOV代表传输等。X输入继电器(16位)输入指示灯显示硬件的实际ON/OFF状态(ON灯亮,OFF灯灭)。如果编程修改X值,与实际硬件输入不一致时,虽然指示灯不显示,但是在程序中已经有效。Y输入继电器(16位)M辅助继电器T定时器C计数器D数据寄存器(16位)负数是补码形式存储的。D800-D999断电可以记忆的寄存器通过OPCserver读取速度测试,读200个寄存器耗时0.125S注:称重仪表Panther表设定PLC的寄存器地址,表的重量数据可以直接写入编程控制点,PLC程序直接读取就可以了。如何设置?三、PLC过程控制程序设计的方法1)手工编写PLC程序2)通过编程工具,编写T形图,写入PLC。四、上位机对PLC数据的读写(控制数据写入,和控制数据的读出)1)通过编程软件(软件:VS2005/VS2008),调用OPCServer库(Interop.ACTMULTILib.dll,Interop.ACTSUPPORTLib.dll),向PLC读出或者写入数据(编程器件),需要配置OPCServer.软件:MELSOFTApplication-MXcomponent-CommunicationUtility.(opcserver也可以访问PLC的数据软件:MELSOFTApplication-MXcomponent-PLCMonitorUtility).图CommunicationUtility.图PLCMonitorUtility1/2监视图PLCMonitorUtility2/2设置值2)通过组态软件,调用OPCServer库,向PLC读出或者写入数据(编程器件)。(缺点,组态软件不是针对一种PLC设备,处理速度慢,读写数据速度延迟几秒)五、VS008通过OPCserverPLC访问的方法5.1在解决方案中添加opcserverdll库Interop.ACTMULTILib.dllInterop.ACTSUPPORTLib.dll5.2读写程序代码//1引用PLC库usingACTMULTILib;//引用PLC库forPLCMITSUBISHIusingACTSUPPORTLib;//引用PLC库forPLCMITSUBISHI//2定义PLCStationActEasyIFClassPLC_Station=newActEasyIFClass();//定义PLCStationPLC_Station.ActLogicalStationNumber=1;//SetLogicStationNumber//3关闭打开PLCStationPLC_Station.Close();intintRet=PLC_Station.Open();//OpenPLC//CheckPLCOpenResultif(intRet==0)//-------------------------PLCOpenOK{//MessageBox.Show(PLCOpenOK!);}else//-------------------------------------PLCOpenNG{Tx_RecData.Text=PLCOpenNG!;return;//MessageBox.Show(PLCOpenNG!);}//4读PLC控制点值(多个)int[]intTmp=newint[]{0,0,0,0};if(PLC_Station.ReadDeviceRandom(X60\nX61\nX62\nX63\n,4,outintTmp[0])==0){//读出正确Tx_RecData.Text=intTmp[0].ToString()+,+intTmp[1].ToString()+,+intTmp[2].ToString()+,+intTmp[3].ToString();}Else//读出出错{Tx_RecData.Text=读PLC出错;}//5写PLC控制点(多个)//intRet=PLC_Station.Close();int[]intTmp=newint[]{0,0,0,0};string[]stri=TB_WriteValue.Text.Trim().Split(',');inti=0;for(;istri.Length;i++){intTmp[i]=int.Parse(stri[i].Trim());}stringStrAdd=Tb_WriteAdd.Text.Trim().Replace(,).Replace(,,\n)+\n;//eg.StarAdd=D100\nD101\nD102\nD103\n;注意控制点与数值数目一致//eg.StarAdd=X60\nX61\n;intRet=PLC_Station.WriteDeviceRandom(StrAdd,i,refintTmp[0]);TB_Status.Text=;if(intRet!=0){TB_Status.Text=WritePLCError;}图读写简单例子
本文标题:OPC-访问三菱Q系列PLC方法
链接地址:https://www.777doc.com/doc-4556709 .html