2154 lines
100 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
//
#include <string>
#include <vector>
#include <map>
#include "../../Communication/TempCtrlClient.h"
#include "../../Communication/S7Command.h"
//#include "../../stdafx.h"
#include "HbdLanguage.h"
#include "RunCfg.h"
#include <condition_variable>
#include <shared_mutex>
#include "../../PLC/Command/PLCReceiver.h"
using namespace std;
class IOCfg
{
public:
IOCfg(int machineType,int statusaddr, int ctrladdr,bool isoutput,string code,string content,int authLess=0);
IOCfg();
~IOCfg();
void SetActive(bool isa);
void SetOutput(bool output);
bool IsActive();
string GetUpdateSql();
void SetCC(PLCReveiver* cc) { m_cc = cc; }
void SetCS(CRITICAL_SECTION* cs) {
m_CS = cs;
}
public:
static const string TABLE_NAME;
static const string FIELD_ID;
static const string FIELD_MACHINE_TYPE;
static const string FIELD_STATUS_ADDR;
static const string FIELD_CTRL_ADDR;
static const string FIELD_IS_OUTPUT;
static const string FIELD_CODE;
static const string FIELD_CONTENT;
static const string FIELD_AUTH_LESS;
int m_Id;
int m_MachineType;
int m_StatusAddr;
int m_CtrlAddr;
bool m_IsOutput; //true 可修改 false只读
string m_Code;
string m_Content;
bool m_IsActive;
int m_AuthLess; //用户等级
string m_ShowContent;
private:
PLCReveiver* m_cc;
S7Command* m_CtrlCommand;
CRITICAL_SECTION* m_CS;
};
class LaserIO {
public:
LaserIO() {}
~LaserIO(){}
public:
IOCfg* m_LaserRed;
IOCfg* m_LaserEnable;
IOCfg* m_LaserStart;
};
class IO_V_Base {
public:
virtual void Init(map<string, IOCfg*>& ioCfgMap) = 0;
virtual void Update(unsigned char* arr) = 0;
char GetSafeDoorState() { return m_SafeDoorState; }
protected:
char m_SafeDoorState;
};
class IO_1000_V0:public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_StorageCarDropPowderValve; //存粉小车下粉阀
IOCfg* m_StorageCarAirHammer; //存粉小车气锤
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_SupportCylinderEnable; //打印支撑撑起
IOCfg* m_SupportCylinderDisable; //打印支撑避让
IOCfg* m_PrintHorizontalExtend; //打印位左右定位气缸伸出
IOCfg* m_PrintHorizontalRetract; //打印位左右定位气缸缩回
IOCfg* m_PrintVerticalExtend; //打印位前后定位气缸伸出
IOCfg* m_PrintVerticalRetract; //打印位前后定位气缸缩回
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_PowderCleannerSupportCylinderEnable; //清粉箱支撑气缸撑起
IOCfg* m_PowderCleannerSupportCylinderDisEnable; //清粉箱支撑气缸避让
IOCfg* m_PowderCleannerPressRelease; //清粉箱压紧气缸松开
IOCfg* m_StairsLock; //楼梯电磁锁
IOCfg* m_PowderCleannerLiftLock; //清粉升降电磁锁打印缸体固定气缸伸出
IOCfg* m_PowderCleannerBoxLock; //清粉箱缸体锁紧气缸锁紧
IOCfg* m_PowderCleannerBoxRelease; //清粉箱缸体锁紧气缸放松
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_AssistPushExtend; //辅助推动气缸伸出
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_LoadPinInserOn; //移载插销气缸插紧 1000_v1
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_StorageCarDeoxygenSlave; //存粉小车除氧进气阀
IOCfg* m_StorageCarEvacuationSlave; //存粉小车除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_CarbinDoorClose; //打印舱门关闭 1000v1
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_StorageCarUpLimit; //存粉小车上限
IOCfg* m_StorageCarDownLimit; //存粉小车下限
IOCfg* m_StorageCarConnect; //存粉小车连接
IOCfg* m_StorageCarJarConnect; //存粉小车粉罐连接
IOCfg* m_StorageCarJarUpLimit; //存粉小车粉罐上限
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_PrintSupportCylinderOn; //打印位支撑气缸支撑位
IOCfg* m_PrintSupportCylinderOff; //打印位支撑气缸避让位
IOCfg* m_PrintHorizontalExtendOn; //打印位左右定位气缸伸出位
IOCfg* m_PrintHorizontalExtendOff; //打印位左右定位气缸缩回位
IOCfg* m_PrintVerticalExtendOn; //打印位前后定位气缸伸出位
IOCfg* m_PrintVerticalExtendOff; //打印位前后定位气缸缩回位
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_CleannerLiftTrackContact; //清粉升降与轨道对接位
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerBackButton; //背部按钮 1000v1
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_UpperLidButton; //上盖开关按钮
IOCfg* m_VacuumStartup; //吸尘启动按钮
IOCfg* m_CleannerCarbinDoorClose; //清粉舱门感应
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleannerBoxSupportOn; //清粉箱支持气缸支持位
IOCfg* m_CleannerBoxSupportOff; //清粉箱支持气缸避让位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_StairsLockOn; //楼梯电磁锁按钮
IOCfg* m_CleannerLiftLockOn; //清粉升降电磁锁按钮
IOCfg* m_CleannerBoxLockOn; //清粉箱缸体锁紧气缸锁紧位
IOCfg* m_CleannerBoxLockOff; //清粉箱缸体锁紧气缸放松位
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_AssistPushExtendOn; //辅助推动气缸伸出位
IOCfg* m_AssistPushExtendOff; //辅助推动气缸缩回位
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_LoadCylinderOn; //移载插销气缸插紧位
IOCfg* m_LoadCylinderOff; //移载插销气缸松开位
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_SupplyPipeBlock; //吸筛送管道堵塞感应
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
};
class IO_1000_V1 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_StorageCarDropPowderValve; //存粉小车下粉阀
IOCfg* m_StorageCarAirHammer; //存粉小车气锤
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_SupportCylinderEnable; //打印支撑撑起
IOCfg* m_SupportCylinderDisable; //打印支撑避让
IOCfg* m_PrintHorizontalExtend; //打印位左右定位气缸伸出
IOCfg* m_PrintHorizontalRetract; //打印位左右定位气缸缩回
IOCfg* m_PrintVerticalExtend; //打印位前后定位气缸伸出
IOCfg* m_PrintVerticalRetract; //打印位前后定位气缸缩回
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_PowderCleannerSupportCylinderEnable; //清粉箱支撑气缸撑起
IOCfg* m_PowderCleannerSupportCylinderDisEnable; //清粉箱支撑气缸避让
IOCfg* m_PowderCleannerPressRelease; //清粉箱压紧气缸松开
IOCfg* m_StairsLock; //楼梯电磁锁
IOCfg* m_PowderCleannerLiftLock; //清粉升降电磁锁
IOCfg* m_PowderCleannerBoxLock; //清粉箱缸体锁紧气缸锁紧
IOCfg* m_PowderCleannerBoxRelease; //清粉箱缸体锁紧气缸放松
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_AssistPushExtend; //辅助推动气缸伸出
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_LoadElectromagnet; //移载电磁铁 1000_v2
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_StorageCarDeoxygenSlave; //存粉小车除氧进气阀
IOCfg* m_StorageCarEvacuationSlave; //存粉小车除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_StorageCarUpLimit; //存粉小车上限
IOCfg* m_StorageCarDownLimit; //存粉小车下限
IOCfg* m_StorageCarConnect; //存粉小车连接
IOCfg* m_StorageCarJarConnect; //存粉小车粉罐连接
IOCfg* m_StorageCarJarUpLimit; //存粉小车粉罐上限
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_PrintSupportCylinderOn; //打印位支撑气缸支撑位
IOCfg* m_PrintSupportCylinderOff; //打印位支撑气缸避让位
IOCfg* m_PrintHorizontalExtendOn; //打印位左右定位气缸伸出位
IOCfg* m_PrintHorizontalExtendOff; //打印位左右定位气缸缩回位
IOCfg* m_PrintVerticalExtendOn; //打印位前后定位气缸伸出位
IOCfg* m_PrintVerticalExtendOff; //打印位前后定位气缸缩回位
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_CleannerLiftTrackContact; //清粉升降与轨道对接位
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_UpperLidButton; //上盖开关按钮
IOCfg* m_VacuumStartup; //吸尘启动按钮
IOCfg* m_CleannerCarbinDoorClose; //清粉舱门感应
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleannerBoxSupportOn; //清粉箱支持气缸支持位
IOCfg* m_CleannerBoxSupportOff; //清粉箱支持气缸避让位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_StairsLockOn; //楼梯电磁锁按钮
IOCfg* m_CleannerLiftLockOn; //清粉升降电磁锁按钮
IOCfg* m_CleannerBoxLockOn; //清粉箱缸体锁紧气缸锁紧位
IOCfg* m_CleannerBoxLockOff; //清粉箱缸体锁紧气缸放松位
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_AssistPushExtendOn; //辅助推动气缸伸出位
IOCfg* m_AssistPushExtendOff; //辅助推动气缸缩回位
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_SupplyPipeBlock; //吸筛送管道堵塞感应
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
};
class IO_1000_V2 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_SupportCylinderEnable; //打印支撑撑起
IOCfg* m_SupportCylinderDisable; //打印支撑避让
IOCfg* m_PrintHorizontalExtend; //打印位左右定位气缸伸出
IOCfg* m_PrintHorizontalRetract; //打印位左右定位气缸缩回
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanCylinderPressing; //清粉箱缸体压紧 1500
IOCfg* m_CleanCylinderRelease; //清粉箱缸体松开 1500
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_CleanBoxUpHorOpen; //清粉箱上盖横移打开
IOCfg* m_CleanBoxUpHorClose; //清粉箱上盖横移关闭
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_LoadElectromagnet; //移载电磁铁 1000_v2
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //清粉存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //清粉存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //清粉存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //清粉存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_PrintSupportCylinderOn; //打印位支撑气缸支撑位
IOCfg* m_PrintSupportCylinderOff; //打印位支撑气缸避让位
IOCfg* m_PrintHorizontalExtendOn; //打印位左右定位气缸伸出位
IOCfg* m_PrintHorizontalExtendOff; //打印位左右定位气缸缩回位
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxDoorClose; //清粉箱门关闭
IOCfg* m_LeftVacuumButton; //左吸尘按钮 1500
IOCfg* m_RightVacuumButton; //右吸尘按钮 1500
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleanBoxUpHorOpenPos; //清粉箱上盖横移开位
IOCfg* m_CleanBoxUpHorClosePos; //清粉箱上盖横移关位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高
};
class IO_1000_V3 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_PrintCylindFixed; //打印位缸体固定
IOCfg* m_PrintCylindRelease; //打印位缸体松开
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanCylinderPressing; //清粉箱缸体压紧 1500
IOCfg* m_CleanCylinderRelease; //清粉箱缸体松开 1500
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_CleanBoxUpHorOpen; //清粉箱上盖横移打开
IOCfg* m_CleanBoxUpHorClose; //清粉箱上盖横移关闭
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_LoadElectromagnet; //移载电磁铁 1000_v2
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //清粉存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //清粉存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //清粉存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //清粉存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀
IOCfg* m_LaserPowerActive; //激光电源激活
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxDoorClose; //清粉箱门关闭
IOCfg* m_LeftVacuumButton; //左吸尘按钮 1500
IOCfg* m_RightVacuumButton; //右吸尘按钮 1500
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleanBoxUpHorOpenPos; //清粉箱上盖横移开位
IOCfg* m_CleanBoxUpHorClosePos; //清粉箱上盖横移关位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高
};
class IO_1000_V4 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_Print3RForceUnlock; //打印3R强制解锁
IOCfg* m_Clean3RForceUnlock; //清粉3R强制解锁
IOCfg* m_PrintCylindFixed; //打印位缸体固定
IOCfg* m_PrintCylindRelease; //打印位缸体松开
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanCylinderPressing; //清粉箱缸体压紧 1500
IOCfg* m_CleanCylinderRelease; //清粉箱缸体松开 1500
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_CleanBoxUpHorOpen; //清粉箱上盖横移打开
IOCfg* m_CleanBoxUpHorClose; //清粉箱上盖横移关闭
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_LoadAxisBrake; //移载轴刹车
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //清粉存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //清粉存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //清粉存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //清粉存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀
IOCfg* m_LaserPowerActive; //激光电源激活
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位
IOCfg* m_Print3RLockSensor; //打印3R锁紧感应
IOCfg* m_Clean3RLockSensor; //清粉3R锁紧感应
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxDoorClose; //清粉箱门关闭
IOCfg* m_LeftVacuumButton; //左吸尘按钮 1500
IOCfg* m_RightVacuumButton; //右吸尘按钮 1500
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleanBoxUpHorOpenPos; //清粉箱上盖横移开位
IOCfg* m_CleanBoxUpHorClosePos; //清粉箱上盖横移关位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_Print3RReleaseSensor; //打印3R松开感应
IOCfg* m_Clean3RReleaseSensor; //清粉3R松开感应
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高
};
class IO_1500_V0 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_PrintCylindFixed; //打印位缸体固定 1500
IOCfg* m_PrintCylindRelease; //打印位缸体松开 1500
IOCfg* m_MainDoorElecOpen; //主机箱门电打开 1500
IOCfg* m_HandrailDoorOpen; //栏杆门打开 1500
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanCylinderPressing; //清粉箱缸体压紧 1500
IOCfg* m_CleanCylinderRelease; //清粉箱缸体松开 1500
IOCfg* m_CleanPosStopOn; //清粉位阻挡升起 1500
IOCfg* m_CleanPosStopOff; //清粉位阻挡避让 1500
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀 1500
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀 1500
IOCfg* m_SeparateCabinArriveLamp; //脱离舱体到位指示灯
IOCfg* m_LoadElectromagnet; //移载电磁铁 1000_v2
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CylinderHandPlateOpenValve; //缸体吊装盖板打开阀
IOCfg* m_CylinderHandPlateCloseValve; //缸体吊装盖板关闭阀
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限 1500
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限 1500
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接 1500
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高 1500
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高 1500
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_PrintUpDownSeparatePos; //打印升降脱离位 1500
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_PrintSupportCylinderOn; //打印位支撑气缸支撑位
IOCfg* m_PrintSupportCylinderOff; //打印位支撑气缸避让位
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位 1500
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位 1500
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_CleannerAxisUpLimit; //清粉上限位 1500
IOCfg* m_CleannerAxisDownLimit; //清粉下限位 1500
IOCfg* m_CleannerHomeIndex; //清粉原点 1500
IOCfg* m_Cleanner3R; //清粉3R 1500
IOCfg* m_CleanPowderStopOn; //清粉档块气缸阻挡位 1500
IOCfg* m_CleanPowderStopOff; //清粉挡块气缸避让位 1500
IOCfg* m_CleannerLiftTrackContact; //清粉升降与轨道对接位
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_LeftVacuumButton; //左吸尘按钮 1500
IOCfg* m_RightVacuumButton; //右吸尘按钮 1500
IOCfg* m_CleannerBoxPressOn; //清粉箱压紧位
IOCfg* m_CleannerBoxPressOff; //清粉箱放松位
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadCylinderCheck; //移载缸体检测 1500
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_LoadHandPos; //移载吊装位
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
//1500
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CylinderHandPlateOpen; //缸体吊装盖板开位
IOCfg* m_CylinderHandPlateOff; //缸体吊装盖板关位
IOCfg* m_CylinderHandDoorOpen; //缸体吊装门开位
IOCfg* m_CylinderHandDoorClose; //缸体吊装门关位
};
class IO_1500_V1 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintCylindFixed; //打印位缸体固定 1500
IOCfg* m_PrintCylindRelease; //打印位缸体松开 1500
IOCfg* m_HandrailDoorLock; //栏杆门电磁锁 1500
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀 1500
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀 1500
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //清粉存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //清粉存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //清粉存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //清粉存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_CylinderHandPlateOpenValve; //缸体吊装盖板打开阀
IOCfg* m_CylinderHandPlateCloseValve; //缸体吊装盖板关闭阀
IOCfg* m_CylinderHandLockOpen; //缸体吊装门锁打开
IOCfg* m_EleCylinderMainBrake; //电缸主轴刹车
IOCfg* m_EleCylinderSlaveBrake; //电缸从轴刹车
IOCfg* m_LoadAxisBrake; //移载轴刹车
IOCfg* m_CleanLeftVacuumValve; //清粉左吸尘阀
IOCfg* m_CleanRightVacuumValve; //清粉右吸尘阀
IOCfg* m_CleanVacuumReairValve; //清粉吸尘回气阀
IOCfg* m_CleanBlowSrcSelect; //清粉吹气源选择
IOCfg* m_CleanLightOn; //清粉照明
IOCfg* m_CleanBoxTopDoorRise; //清粉箱顶门升高
IOCfg* m_CleanBoxTopDoorFall; //清粉箱顶门降低
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限 1500
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限 1500
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接 1500
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞 1500
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高 1500
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高 1500
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高 1500
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高 1500
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位 1500
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位 1500
IOCfg* m_PrintCylinderJackupReachSensor; //打印缸体顶升到位感应器
IOCfg* m_EleCylinderHomeIndex; //电缸原点
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_EleCylinderUpLimit; //电缸上限
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_EleCylinderDownLimit; //电缸下限
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxTopDoorOpenPos; //清粉箱顶门气缸开位
IOCfg* m_CleanBoxTopDoorClosePos; //清粉箱顶门气缸关位
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CylinderHandLockSensor; //缸体吊装门锁感应
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_CleanBoxTopDoorRisePos; //清粉箱顶门升高位
IOCfg* m_CleanBoxTopDoorFallPos; //清粉箱顶门降低位
IOCfg* m_CoverAcceptPowderPos; //铺粉轴接粉位
IOCfg* m_CoverDropPowderPos1; //铺粉轴下粉位1
IOCfg* m_CoverDropPowderPos2; //铺粉轴下粉位2
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadHandPos; //移载吊装位
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
//1500
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CylinderHandPlateOpen; //缸体吊装盖板开位
IOCfg* m_CylinderHandPlateOff; //缸体吊装盖板关位
IOCfg* m_CylinderHandDoorOpen; //缸体吊装门开位
IOCfg* m_CylinderHandDoorClose; //缸体吊装门关位
};
class IO_1200_V0 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintCylindFixed; //打印位缸体固定 1500
IOCfg* m_PrintCylindRelease; //打印位缸体松开 1500
IOCfg* m_HandrailDoorLock; //栏杆门电磁锁 1500
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀 1500
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀 1500
IOCfg* m_LaserPowerActive; //激光电源激活
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //清粉存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //清粉存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //清粉存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //清粉存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_CylinderHandPlateOpenValve; //缸体吊装盖板打开阀
IOCfg* m_CylinderHandPlateCloseValve; //缸体吊装盖板关闭阀
IOCfg* m_CylinderHandLockOpen; //缸体吊装门锁打开
IOCfg* m_EleCylinderMainBrake; //电缸主轴刹车
IOCfg* m_EleCylinderSlaveBrake; //电缸从轴刹车
IOCfg* m_LoadAxisBrake; //移载轴刹车
IOCfg* m_CleanLeftVacuumValve; //清粉左吸尘阀
IOCfg* m_CleanRightVacuumValve; //清粉右吸尘阀
IOCfg* m_CleanVacuumReairValve; //清粉吸尘回气阀
IOCfg* m_CleanBlowSrcSelect; //清粉吹气源选择
IOCfg* m_CleanLightOn; //清粉照明
IOCfg* m_CleanBoxTopDoorRise; //清粉箱顶门升高
IOCfg* m_CleanBoxTopDoorFall; //清粉箱顶门降低
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限 1500
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限 1500
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接 1500
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞 1500
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高 1500
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高 1500
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高 1500
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高 1500
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位 1500
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位 1500
IOCfg* m_PrintCylinderJackupReachSensor; //打印缸体顶升到位感应器
IOCfg* m_EleCylinderHomeIndex; //电缸原点
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_EleCylinderUpLimit; //电缸上限
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_EleCylinderDownLimit; //电缸下限
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxTopDoorOpenPos; //清粉箱顶门气缸开位
IOCfg* m_CleanBoxTopDoorClosePos; //清粉箱顶门气缸关位
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_CylinderHandLockSensor; //缸体吊装门锁感应
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_CleanBoxTopDoorRisePos; //清粉箱顶门升高位
IOCfg* m_CleanBoxTopDoorFallPos; //清粉箱顶门降低位
IOCfg* m_CoverAcceptPowderPos; //铺粉轴接粉位
IOCfg* m_CoverDropPowderPos1; //铺粉轴下粉位1
IOCfg* m_CoverDropPowderPos2; //铺粉轴下粉位2
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadHandPos; //移载吊装位
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
//1500
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CylinderHandPlateOpen; //缸体吊装盖板开位
IOCfg* m_CylinderHandPlateOff; //缸体吊装盖板关位
IOCfg* m_CylinderHandDoorOpen; //缸体吊装门开位
IOCfg* m_CylinderHandDoorClose; //缸体吊装门关位
};
class IO_E1000_V0 :public IO_V_Base {
public:
void Init(map<string, IOCfg*>& ioCfgMap);
void Update(unsigned char* arr);
public:
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_ChillerPower; //冷水机电源
IOCfg* m_CarbinBackLock; //打印舱后锁
IOCfg* m_UpLayerAccessDoorUnlock; //上层维护门解锁
IOCfg* m_DownLayerAccessDoorUnlock; //下层维护门解锁
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_CylinderLinerSealChargeValve; //缸体密封圈充气阀
IOCfg* m_CylinderLinerSealReleaseValve; //缸体密封圈泄压阀
IOCfg* m_CleanBoxFoldUp; //清粉箱折叠升高
IOCfg* m_CleanBoxFoldDown; //清粉箱折叠降低
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀 1500
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀 1500
IOCfg* m_LaserPowerActive; //激光电源激活
IOCfg* m_LaserErrorReset; //激光错误复位
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_CylinderHandPlateOpenValve; //缸体吊装盖板打开阀
IOCfg* m_CylinderHandPlateCloseValve; //缸体吊装盖板关闭阀
IOCfg* m_LoadAxisBrake; //移载轴刹车
IOCfg* m_CleanLeftVacuumValve; //清粉左吸尘阀
IOCfg* m_CleanRightVacuumValve; //清粉右吸尘阀
IOCfg* m_CleanLightOn; //清粉照明
IOCfg* m_Laser5Enable; //激光5使能
IOCfg* m_Laser5Start; //激光5启动
IOCfg* m_Laser5Red; //激光5红光
IOCfg* m_Laser6Enable; //激光6使能
IOCfg* m_Laser6Start; //激光6启动
IOCfg* m_Laser6Red; //激光6红光
IOCfg* m_Laser7Enable; //激光7使能
IOCfg* m_Laser7Start; //激光7启动
IOCfg* m_Laser7Red; //激光7红光
IOCfg* m_Laser8Enable; //激光8使能
IOCfg* m_Laser8Start; //激光8启动
IOCfg* m_Laser8Red; //激光8红光
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PhaseLossDetection; //缺相检测
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_DownServoAirSwitchContact; //下层伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限 1500
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接 1500
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高 1500
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高 1500
IOCfg* m_UPSException; //UPS异常
IOCfg* m_Laser5Alarm; //激光器5报警
IOCfg* m_Laser6Alarm; //激光器6报警
IOCfg* m_Laser7Alarm; //激光器7报警
IOCfg* m_Laser8Alarm; //激光器8报警
IOCfg* m_ScannerPowerAssistContact; //振镜电源辅助触点
IOCfg* m_ScannerBranchAirSwitch; //激光器支路空开
IOCfg* m_UpServoAirSwitchContact; //上层伺服空开触点
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_RailCloseSensor; //栏杆关闭感应
IOCfg* m_RailOpenSensor; //栏杆打开感应
IOCfg* m_CoverAcceptStirPos; //铺粉接粉拨板位
IOCfg* m_CoverDropStirPos; //铺粉下粉拨板位
IOCfg* m_CleanBoxFoldUpPos; //清粉箱折叠升高位
IOCfg* m_CleanBoxFoldDownPos; //清粉箱折叠降低位
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_SecurityCarpet; //安全地毯
IOCfg* m_CoverAcceptPowderPos; //铺粉轴接粉位
IOCfg* m_CoverDropPowderPos1; //铺粉轴下粉位1
IOCfg* m_CoverDropPowderPos2; //铺粉轴下粉位2
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadHandPos; //移载吊装位
IOCfg* m_PowderUpestPos; //粉仓料位最高
IOCfg* m_PowderDownestPos; //粉仓料位最低
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_PrintCarbinDoorLockPos; //打印舱门锁关闭位
IOCfg* m_UpServiceDoorClosePos; //上层维修门关闭位
IOCfg* m_DownServiceDoorClosePos; //下层维修门关闭位
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_TotalWaterCoolerAlarm; //总水冷机报警
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CylinderHandPlateOpen; //缸体吊装盖板开位
IOCfg* m_CylinderHandPlateOff; //缸体吊装盖板关位
IOCfg* m_CylinderHandDoorOpen; //缸体吊装门开位
IOCfg* m_CylinderHandDoorClose; //缸体吊装门关位
};
class IOCfgWrapper {
public:
enum SafeDoorState
{
LockOffClose = 4,
LockOffOpen = 6,
LockOnClose=9,
LockOnOpen=14
};
IOCfgWrapper();
~IOCfgWrapper();
void Init();
void SetAutoCtrlHeating(bool enable);
void AutoCtrlHeating( TempCtrlClient* client);
bool IsAutoCtrlHeating();
int GetAutoCtrlHeatingRemainTime() { return m_AutoCtrlHeatingRemainTime; }
void SetSystemCtrlPressure(bool isp);
bool IsSystemCtrlPressure() {
return m_IsSystemCtrlPressure;
}
void SetCC(PLCReveiver* cc) {
for (auto io : m_IOCfgMap) {
if(io.second)io.second->SetCC(cc);
}
}
void Update(unsigned char* arr) {
Lock();
m_IoVMap[m_IOCtrlIndex]->Update(arr);
m_SafeDoorState = m_IoVMap[m_IOCtrlIndex]->GetSafeDoorState();
Unlock();
}
bool IsSafeDoorClose() {
bool rel = false;
Lock();
if (m_SafeDoorState == LockOnClose || m_SafeDoorState == LockOffClose)
{
rel=true;
}
Unlock();
return rel;
}
void Lock() {
EnterCriticalSection(&m_CS);
}
void Unlock() {
LeaveCriticalSection(&m_CS);
}
public:
vector<IOCfg*> m_InputCfgs;
vector<IOCfg*> m_OutputCfgs;
map<string, IOCfg*> m_IOCfgMap;
map<int, bool> m_InputCheckAssist;
map<int, bool> m_OutputCheckAssist;
map<int, LaserIO*> m_LaserIOMap;
//vector<IOCfg*> m_PowderPosIOs;
IOCfg* m_ServoMotor; //伺服电源
IOCfg* m_Laser; //激光器
IOCfg* m_Laser1Enable; //激光1使能
IOCfg* m_Laser1Start; //激光1启动
IOCfg* m_Laser1Red; //激光1红光
IOCfg* m_Laser2Enable; //激光2使能
IOCfg* m_Laser2Start; //激光2启动
IOCfg* m_Laser2Red; //激光2红光
IOCfg* m_Laser3Enable; //激光3使能
IOCfg* m_Laser3Start; //激光3启动
IOCfg* m_Laser3Red; //激光3红光
IOCfg* m_Laser4Enable; //激光4使能
IOCfg* m_Laser4Start; //激光4启动
IOCfg* m_Laser4Red; //激光4红光
IOCfg* m_PrintDoorLock; //打印舱门电锁
IOCfg* m_LightOn; //照明
IOCfg* m_YellowLamp; //黄灯
IOCfg* m_GreenLamp; //绿灯
IOCfg* m_RedLamp; //红灯
IOCfg* m_Buzzer; //蜂鸣器
IOCfg* m_PrintAssistGas; //辅助气
IOCfg* m_PrintAirEvacuation; //排气阀
IOCfg* m_PressureRelease; //压力释放
IOCfg* m_ScannerCool; //振镜冷却
IOCfg* m_Heating; //加热
IOCfg* m_StorageCarDropPowderValve; //存粉小车下粉阀
IOCfg* m_PrintStorageCar1DropPowderValve; //打印存粉小车1下粉阀 //1500
IOCfg* m_StorageCarAirHammer; //存粉小车气锤
IOCfg* m_PrintSlot1PipeValve; //打印槽1管道阀 1500
IOCfg* m_PrintPress; //打印位压紧
IOCfg* m_PrintUnpress; //打印位放松
IOCfg* m_PrintJackUp; //打印顶升气缸上升
IOCfg* m_PrintJackDown; //打印顶升气缸下降
IOCfg* m_SupportCylinderEnable; //打印支撑撑起
IOCfg* m_ChillerPower; //冷水机电源
IOCfg* m_CarbinBackLock; //打印舱后锁
IOCfg* m_Print3RForceUnlock; //打印3R强制解锁
IOCfg* m_Clean3RForceUnlock; //清粉3R强制解锁
IOCfg* m_SupportCylinderDisable; //打印支撑避让
IOCfg* m_PrintHorizontalExtend; //打印位左右定位气缸伸出
IOCfg* m_PrintHorizontalRetract; //打印位左右定位气缸缩回
IOCfg* m_PrintCylindFixed; //打印位缸体固定 1500
IOCfg* m_PrintCylindRelease; //打印位缸体松开 1500
IOCfg* m_PrintVerticalExtend; //打印位前后定位气缸伸出
IOCfg* m_PrintVerticalRetract; //打印位前后定位气缸缩回
IOCfg* m_MainDoorElecOpen; //主机箱门电打开 1500
IOCfg* m_HandrailDoorOpen; //栏杆门打开 1500
IOCfg* m_HandrailDoorLock; //栏杆门电磁锁 1500
IOCfg* m_Print3RRelease; //打印3R夹具松开
IOCfg* m_PrintMainAxisBrake; //打印主轴刹车
IOCfg* m_PrintSlaveAxisBrake; //打印从轴刹车
IOCfg* m_Print3RDeoxygenSalve; //打印3R除氧进气阀
IOCfg* m_Print3RStablePressureSalve; //打印3R稳压气阀
IOCfg* m_Print3RAirEvacuation; //打印3R除氧排气阀
IOCfg* m_PowderCleanerUpOpenGap; //清粉箱上盖打开阀
IOCfg* m_PowderCleanerUpCloseGap; //清粉箱上盖关闭阀
IOCfg* m_PowderCleannerSupportCylinderEnable; //清粉箱支撑气缸撑起
IOCfg* m_PowderCleannerSupportCylinderDisEnable; //清粉箱支撑气缸避让
IOCfg* m_PowderCleannerPressRelease; //清粉箱压紧气缸松开
IOCfg* m_CleanCylinderPressing; //清粉箱缸体压紧 1500
IOCfg* m_CleanCylinderRelease; //清粉箱缸体松开 1500
IOCfg* m_UpLayerAccessDoorUnlock; //上层维护门解锁
IOCfg* m_DownLayerAccessDoorUnlock; //下层维护门解锁
IOCfg* m_CylinderLinerSealChargeValve; //缸体密封圈充气阀
IOCfg* m_CylinderLinerSealReleaseValve; //缸体密封圈泄压阀
IOCfg* m_CleanBoxFoldUp; //清粉箱折叠升高
IOCfg* m_CleanBoxFoldDown; //清粉箱折叠降低
IOCfg* m_LaserErrorReset; //激光错误复位
IOCfg* m_Laser5Enable; //激光5使能
IOCfg* m_Laser5Start; //激光5启动
IOCfg* m_Laser5Red; //激光5红光
IOCfg* m_Laser6Enable; //激光6使能
IOCfg* m_Laser6Start; //激光6启动
IOCfg* m_Laser6Red; //激光6红光
IOCfg* m_Laser7Enable; //激光7使能
IOCfg* m_Laser7Start; //激光7启动
IOCfg* m_Laser7Red; //激光7红光
IOCfg* m_Laser8Enable; //激光8使能
IOCfg* m_Laser8Start; //激光8启动
IOCfg* m_Laser8Red; //激光8红光
IOCfg* m_StairsLock; //楼梯电磁锁
IOCfg* m_PowderCleannerLiftLock; //清粉升降电磁锁
IOCfg* m_PowderCleannerBoxLock; //清粉箱缸体锁紧气缸锁紧
IOCfg* m_PowderCleannerBoxRelease; //清粉箱缸体锁紧气缸放松
IOCfg* m_CleanBoxDeoxygenValve; //清粉箱除氧进气阀 1500
IOCfg* m_CleanBoxEvacuationValve; //清粉箱除氧排气阀 1500
IOCfg* m_CleanPosStopOn; //清粉位阻挡升起 1500
IOCfg* m_CleanPosStopOff; //清粉位阻挡避让 1500
IOCfg* m_CleanBoxUpHorOpen; //清粉箱上盖横移打开
IOCfg* m_CleanBoxUpHorClose; //清粉箱上盖横移关闭
IOCfg* m_PowderCleannerBoxPress; //清粉位压紧气缸压紧
IOCfg* m_PowderCleannerBoxUnpress; //清粉位压紧气缸放松
IOCfg* m_AssistPushExtend; //辅助推动气缸伸出
IOCfg* m_PrintAirRenewalInOutValve; //打印室换气进出阀 1500
IOCfg* m_Clean3RRelease; //清粉3R夹具松开
IOCfg* m_CleanMainAxisBrake; //清粉主轴刹车
IOCfg* m_CleanSlaveAxisBrake; //清粉从轴刹车
IOCfg* m_PrintAirRenewalPresRelValve; //打印室换气泄压阀 1500
IOCfg* m_CleanCabinArriveLamp; //清粉舱体到位指示灯
IOCfg* m_SeparateCabinArriveLamp; //脱离舱体到位指示灯
IOCfg* m_LoadPinInserOn; //移载插销气缸插紧 1000_v1
IOCfg* m_LoadElectromagnet; //移载电磁铁 1000_v2
IOCfg* m_PrintVacuumEnterSlave; //打印室吸尘进气阀
IOCfg* m_StorageCarDeoxygenSlave; //存粉小车除氧进气阀
IOCfg* m_StorageCarEvacuationSlave; //存粉小车除氧排气阀
IOCfg* m_PrintStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_PrintStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_PurifierCoolerPower; //净化器冷水机电源
//1500
IOCfg* m_PrintStorageCar2DropPowderValve; //打印存粉小车2下粉阀
IOCfg* m_PrintStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_PrintStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_PrintSlot2PipeValve; //打印槽2管道阀
IOCfg* m_CleanStorageCar1DropPowderValve; //清粉存粉小车1下粉阀
IOCfg* m_CleanStorageCar1DeoxygenValve; //打印存粉小车1除氧进气阀
IOCfg* m_CleanStorageCar1EvacuationValve; //打印存粉小车1除氧排气阀
IOCfg* m_CleanSlot1PipeValve; //清粉槽1管道阀
IOCfg* m_CleanStorageCar2DropPowderValve; //清粉存粉小车2下粉阀
IOCfg* m_CleanStorageCar2DeoxygenValve; //打印存粉小车2除氧进气阀
IOCfg* m_CleanStorageCar2EvacuationValve; //打印存粉小车2除氧排气阀
IOCfg* m_CleanSlot2PipeValve; //清粉槽2管道阀
IOCfg* m_CylinderHandPlateOpenValve; //缸体吊装盖板打开阀
IOCfg* m_CylinderHandPlateCloseValve; //缸体吊装盖板关闭阀
IOCfg* m_CylinderHandLockOpen; //缸体吊装门锁打开
IOCfg* m_EleCylinderMainBrake; //电缸主轴刹车
IOCfg* m_EleCylinderSlaveBrake; //电缸从轴刹车
IOCfg* m_LoadAxisBrake; //移载轴刹车
IOCfg* m_CleanLeftVacuumValve; //清粉左吸尘阀
IOCfg* m_CleanRightVacuumValve; //清粉右吸尘阀
IOCfg* m_CleanVacuumReairValve; //清粉吸尘回气阀
IOCfg* m_CleanBlowSrcSelect; //清粉吹气源选择
IOCfg* m_CleanLightOn; //清粉照明
IOCfg* m_CleanBoxTopDoorRise; //清粉箱顶门升高
IOCfg* m_CleanBoxTopDoorFall; //清粉箱顶门降低
IOCfg* m_LaserPowerActive; //激光电源激活
IOCfg* m_SystemStop; //系统急停
IOCfg* m_HighPressureCheck; //高压检测
IOCfg* m_ProtectGasCheck; //保护气检测
IOCfg* m_PowerDown; //外部断电
IOCfg* m_PhaseLossDetection; //缺相检测
IOCfg* m_CarbinDoorClose; //打印舱门关闭 1000v1
IOCfg* m_PowerOK; //电源正常 1000v2
IOCfg* m_OutDoorOxygenAlarm; //室外测氧报警
IOCfg* m_LaserChillerAlarm; //激光器冷水机报警
IOCfg* m_BusAirSwitchClose; //总空开触点
IOCfg* m_ExtMachineAirSwitchClose; //外部设备空开触点
IOCfg* m_HeattingAirSwitchClose; //加热空开触点
IOCfg* m_LaserAirSwitchClose; //激光空开触点
IOCfg* m_ServoAirSwitchClose; //伺服空开触点
IOCfg* m_Laser1Alarm; //激光器1报警
IOCfg* m_Laser2Alarm; //激光器2报警
IOCfg* m_Laser3Alarm; //激光器3报警
IOCfg* m_Laser4Alarm; //激光器4报警
IOCfg* m_StorageCarUpLimit; //存粉小车上限
IOCfg* m_StorageCarDownLimit; //存粉小车下限
IOCfg* m_StorageCarConnect; //存粉小车连接
IOCfg* m_StorageCarJarConnect; //存粉小车粉罐连接
IOCfg* m_StorageCarJarUpLimit; //存粉小车粉罐上限
IOCfg* m_PrintStorageCar1UpLimit; //打印存粉小车1上限 1500
IOCfg* m_PrintStorageCar1DownLimit; //打印存粉小车1下限 1500
IOCfg* m_PrintStorageCar1Connect; //打印存粉小车1连接 1500
IOCfg* m_PrintStorageCar1Block; //打印存粉小车1堵塞 1500
IOCfg* m_PrintStorageCar1PressureHigh; //打印存粉小车1压力高 1500
IOCfg* m_SSRInput; //加热输入检测
IOCfg* m_SSROutput; //加热输出检测
IOCfg* m_PrintMainAxisUpLimit; //打印主轴上限位
IOCfg* m_PrintMainAxisDownLimit; //打印主轴下限位
IOCfg* m_PrintMainHomeIndex; //打印主轴原点
IOCfg* m_PrintSlaveAxisUpLimit; //打印从轴上限位
IOCfg* m_PrintSlaveAxisDownLimit; //打印从轴下限位
IOCfg* m_PrintSlaveHomeIndex; //打印从轴原点
IOCfg* m_PrintStorageCar2PressureHigh; //打印存粉小车2压力高 1500
IOCfg* m_CleanStorageCar1PressureHigh; //清粉存粉小车1压力高 1500
IOCfg* m_CleanStorageCar2PressureHigh; //清粉存粉小车2压力高 1500
IOCfg* m_Print3RHookOffPos; //打印3R脱离位
IOCfg* m_Print3RCylinderContact; //打印3R与缸体接触感应
IOCfg* m_Print3RLeakOn; //打印3R漏气检测
IOCfg* m_PrintUpDownSeparatePos; //打印升降脱离位 1500
IOCfg* m_UPSException; //UPS异常
IOCfg* m_Laser5Alarm; //激光器5报警
IOCfg* m_Laser6Alarm; //激光器6报警
IOCfg* m_Laser7Alarm; //激光器7报警
IOCfg* m_Laser8Alarm; //激光器8报警
IOCfg* m_ScannerPowerAssistContact; //振镜电源辅助触点
IOCfg* m_ScannerBranchAirSwitch; //激光器支路空开
IOCfg* m_UpServoAirSwitchContact; //上层伺服空开触点
IOCfg* m_DownServoAirSwitchContact; //下层伺服空开触点
IOCfg* m_RailCloseSensor; //栏杆关闭感应
IOCfg* m_RailOpenSensor; //栏杆打开感应
IOCfg* m_CoverAcceptStirPos; //铺粉接粉拨板位
IOCfg* m_CoverDropStirPos; //铺粉下粉拨板位
IOCfg* m_CleanBoxFoldUpPos; //清粉箱折叠升高位
IOCfg* m_CleanBoxFoldDownPos; //清粉箱折叠降低位
IOCfg* m_SecurityCarpet; //安全地毯
IOCfg* m_PowderUpestPos; //粉仓料位最高
IOCfg* m_PowderDownestPos; //粉仓料位最低
IOCfg* m_PrintCarbinDoorLockPos; //打印舱门锁关闭位
IOCfg* m_UpServiceDoorClosePos; //上层维修门关闭位
IOCfg* m_DownServiceDoorClosePos; //下层维修门关闭位
IOCfg* m_TotalWaterCoolerAlarm; //总水冷机报警
IOCfg* m_PrintPressOn; //打印位压紧气缸压紧位
IOCfg* m_PrintPressOff; //打印位压紧气缸松开位
IOCfg* m_PrintJackUpOn; //打印位顶升气缸顶起位
IOCfg* m_PrintJackUpOff; //打印位顶升气缸下降位
IOCfg* m_PrintSupportCylinderOn; //打印位支撑气缸支撑位
IOCfg* m_PrintSupportCylinderOff; //打印位支撑气缸避让位
IOCfg* m_PrintHorizontalExtendOn; //打印位左右定位气缸伸出位
IOCfg* m_PrintHorizontalExtendOff; //打印位左右定位气缸缩回位
IOCfg* m_PrintVerticalExtendOn; //打印位前后定位气缸伸出位
IOCfg* m_PrintVerticalExtendOff; //打印位前后定位气缸缩回位
IOCfg* m_CylinderFixExtendOn; //缸体固定气缸伸出位 1500
IOCfg* m_CylinderFixExtendOff; //缸体固定气缸缩回位 1500
IOCfg* m_PrintCylinderJackupReachSensor; //打印缸体顶升到位感应器
IOCfg* m_EleCylinderHomeIndex; //电缸原点
IOCfg* m_TrackPrintPos; //轨道打印位
IOCfg* m_EleCylinderUpLimit; //电缸上限
IOCfg* m_EleCylinderDownLimit; //电缸下限
IOCfg* m_MainDoorClose; //主机箱门关位 1500
IOCfg* m_PrintCylinderOn; //打印位缸体检测
IOCfg* m_CleannerMainAxisUpLimit; //清粉主轴上限位
IOCfg* m_CleannerMainAxisDownLimit; //清粉主轴下限位
IOCfg* m_CleannerMainHomeIndex; //清粉主轴原点
IOCfg* m_CleannerSlaveAxisUpLimit; //清粉从轴上限位
IOCfg* m_CleannerAxisUpLimit; //清粉上限位 1500
IOCfg* m_CleannerAxisDownLimit; //清粉下限位 1500
IOCfg* m_CleannerHomeIndex; //清粉原点 1500
IOCfg* m_Cleanner3R; //清粉3R 1500
IOCfg* m_CleanBoxTopDoorOpenPos; //清粉箱顶门气缸开位
IOCfg* m_CleanBoxTopDoorClosePos; //清粉箱顶门气缸关位
IOCfg* m_Print3RLockSensor; //打印3R锁紧感应
IOCfg* m_Clean3RLockSensor; //清粉3R锁紧感应
IOCfg* m_Print3RReleaseSensor; //打印3R松开感应
IOCfg* m_Clean3RReleaseSensor; //清粉3R松开感应
IOCfg* m_CleannerSlaveAxisDownLimit; //清粉从轴下限位
IOCfg* m_CleannerSlaveAxisHomeIndex; //清粉从轴原点
IOCfg* m_CleanPowderStopOn; //清粉档块气缸阻挡位 1500
IOCfg* m_CleanPowderStopOff; //清粉挡块气缸避让位 1500
IOCfg* m_CleannerLiftTrackContact; //清粉升降与轨道对接位
IOCfg* m_TrackCleanPos; //轨道清粉位
IOCfg* m_CleannerUpButton; //清粉上升按钮
IOCfg* m_CleannerDownButton; //清粉下降按钮
IOCfg* m_CleannerBackButton; //背部按钮 1000v1
IOCfg* m_CleannerMotionStop; //清粉升降急停
IOCfg* m_CleanBoxDoorClose; //清粉箱门关闭
IOCfg* m_UpperLidButton; //上盖开关按钮
IOCfg* m_VacuumStartup; //吸尘启动按钮
IOCfg* m_LeftVacuumButton; //左吸尘按钮 1500
IOCfg* m_RightVacuumButton; //右吸尘按钮 1500
IOCfg* m_CleannerCarbinDoorClose; //清粉舱门感应
IOCfg* m_UpperLidOpen; //上盖气缸开位
IOCfg* m_UpperLidClose; //上盖气缸关位
IOCfg* m_CleanBoxUpHorOpenPos; //清粉箱上盖横移开位
IOCfg* m_CleanBoxUpHorClosePos; //清粉箱上盖横移关位
IOCfg* m_CleannerBoxSupportOn; //清粉箱支持气缸支持位
IOCfg* m_CleannerBoxSupportOff; //清粉箱支持气缸避让位
IOCfg* m_CleannerBoxCylinderPressOn; //清粉箱压紧气缸压紧位
IOCfg* m_CleannerBoxPressOn; //清粉箱压紧位
IOCfg* m_CleannerBoxPressOff; //清粉箱放松位
IOCfg* m_CleannerBoxCylinderPressOff; //清粉箱压紧气缸放松位
IOCfg* m_StairsLockOn; //楼梯电磁锁按钮
IOCfg* m_CleannerLiftLockOn; //清粉升降电磁锁按钮
IOCfg* m_CleannerBoxLockOn; //清粉箱缸体锁紧气缸锁紧位
IOCfg* m_CleannerBoxLockOff; //清粉箱缸体锁紧气缸放松位
IOCfg* m_CleannerBoxOn; //清粉箱缸体接触感应
IOCfg* m_CleannerPressOn; //清粉位压紧气缸压紧位
IOCfg* m_CleannerPressOff; //清粉位压紧气缸放松位
IOCfg* m_AssistPushExtendOn; //辅助推动气缸伸出位
IOCfg* m_AssistPushExtendOff; //辅助推动气缸缩回位
IOCfg* m_Clean3RContact; //清粉3R对接位
IOCfg* m_Clean3RCylinderContact; //清粉3R与缸体接触感应
IOCfg* m_Clean3RLeakOn; //清粉3R漏气检测
IOCfg* m_ArmFrontLimit; //铺粉轴前限位
IOCfg* m_ArmBackLimit; //铺粉轴后限位
IOCfg* m_ArmHomeIndex; //铺粉轴原点
IOCfg* m_PrintStorageCar2UpLimit; //打印存粉小车2上限
IOCfg* m_PrintStorageCar2DownLimit; //打印存粉小车2下限
IOCfg* m_PrintStorageCar2Connect; //打印存粉小车2连接
IOCfg* m_PrintStorageCar2Block; //打印存粉小车2堵塞
IOCfg* m_CylinderHandLockSensor; //缸体吊装门锁感应
IOCfg* m_CleanBoxTopDoorRisePos; //清粉箱顶门升高位
IOCfg* m_CleanBoxTopDoorFallPos; //清粉箱顶门降低位
IOCfg* m_CoverAcceptPowderPos; //铺粉轴接粉位
IOCfg* m_CoverDropPowderPos1; //铺粉轴下粉位1
IOCfg* m_CoverDropPowderPos2; //铺粉轴下粉位2
IOCfg* m_LoadLeftLimit; //移载轴左限位
IOCfg* m_LoadRgithLimit; //移载轴右限位
IOCfg* m_LoadHomeIndex; //移载轴原点
IOCfg* m_LoadCylinderCheck; //移载缸体检测 1500
IOCfg* m_LoadSearchEdgeOn; //移载轴寻边感应
IOCfg* m_LoadHandPos; //移载吊装位
IOCfg* m_LoadCylinderOn; //移载插销气缸插紧位
IOCfg* m_LoadCylinderOff; //移载插销气缸松开位
IOCfg* m_PowderPosition1; //粉仓粉位1
IOCfg* m_PowderPosition2; //粉仓粉位2
IOCfg* m_PowderPosition3; //粉仓粉位3
IOCfg* m_PowderPosition4; //粉仓粉位4
IOCfg* m_PowderPosition5; //粉仓粉位5
IOCfg* m_PowderSupplyHomeIndex; //供粉转轴原点
IOCfg* m_SafeDoorClose1; //安全门锁信号1
IOCfg* m_SafeDoorClose2; //安全门锁信号2
IOCfg* m_SafeDoorClose3; //安全门锁信号3
IOCfg* m_PrintableSignal; //允许打印信号
IOCfg* m_FanRunSignal; //风机运行信号
IOCfg* m_PrintAirRenewalPressure; //打印室换气源压力
IOCfg* m_SupplyPipeBlock; //吸筛送管道堵塞感应
IOCfg* m_LightPathChillerAlarm; //光路冷水机报警
IOCfg* m_PurifierChillerAlarm; //净化器冷水机报警
//1500
IOCfg* m_CleanStorageCar1UpLimit; //清粉存粉小车1上限
IOCfg* m_CleanStorageCar1DownLimit; //清粉存粉小车1下限
IOCfg* m_CleanStorageCar1Connect; //清粉存粉小车1连接
IOCfg* m_CleanStorageCar1Block; //清粉存粉小车1堵塞
IOCfg* m_CleanStorageCar2UpLimit; //清粉存粉小车2上限
IOCfg* m_CleanStorageCar2DownLimit; //清粉存粉小车2下限
IOCfg* m_CleanStorageCar2Connect; //清粉存粉小车2连接
IOCfg* m_CleanStorageCar2Block; //清粉存粉小车2堵塞
IOCfg* m_CylinderHandPlateOpen; //缸体吊装盖板开位
IOCfg* m_CylinderHandPlateOff; //缸体吊装盖板关位
IOCfg* m_CylinderHandDoorOpen; //缸体吊装门开位
IOCfg* m_CylinderHandDoorClose; //缸体吊装门关位
//map<string, TrText*> m_IOTr;
char m_SafeDoorState;
private:
bool m_AutoCtrlHeating;
bool m_LastHeatingActive;
time_t m_AutoCtrlHeatingLastTime;
RunCfg* m_RunCfg;
int m_AutoCtrlHeatingRemainTime;
bool m_IsSystemCtrlPressure;
IO_1000_V0 m_1000v0;
IO_1000_V1 m_1000v1;
IO_1000_V2 m_1000v2;
IO_1000_V3 m_1000v3;
IO_1000_V4 m_1000v4;
IO_1500_V0 m_1500v0;
IO_1500_V1 m_1500v1;
IO_1200_V0 m_1200v0;
map<int, IO_V_Base*> m_IoVMap;
int m_IOCtrlIndex;
CRITICAL_SECTION m_CS;
};