MachineInterfaceDll.dll新增IO口读写设置。
This commit is contained in:
@@ -4271,6 +4271,179 @@ SSI_STATUS_MOTION CSO7_Proto::so7_light_set_lamp_state(double dTopLightPercent,d
|
||||
};
|
||||
|
||||
|
||||
//==================================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::so7_GetDIO(int Channel,BYTE& bDISts)
|
||||
{
|
||||
char Addr(0);
|
||||
switch(Channel)
|
||||
{
|
||||
case INPORT_J2:
|
||||
{
|
||||
Addr=ESO7_CONTROLLER_INPUT_PORT_ADDR;
|
||||
break;
|
||||
}
|
||||
case OUTPORT_J1:
|
||||
{
|
||||
Addr=ESO7_CONTROLLER_WOUTPUT_PORT_ADDR;
|
||||
break;
|
||||
}
|
||||
case OUTPORT_J3:
|
||||
{
|
||||
Addr=ESO7_CONTROLLER_OUTPUT_PORT_ADDR;
|
||||
break;
|
||||
}
|
||||
case LIMIT_SWITCH_J4:
|
||||
{
|
||||
Addr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
Addr=-1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Addr>=0)
|
||||
{
|
||||
_send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(Addr);
|
||||
bDISts=static_cast<BYTE>(g_machine.InPortStatus);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
else
|
||||
{
|
||||
bDISts=0;
|
||||
return SSI_STATUS_MOTION_INVALID_PARAMETERS;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::so7_SetDO(int Channel,BYTE bDOSts)
|
||||
{
|
||||
char cSetIOStatusAddr(0);
|
||||
char cSetValue(0);
|
||||
switch(Channel)
|
||||
{
|
||||
case OUTPORT_J1:
|
||||
{
|
||||
if (bDOSts&HBIT0)
|
||||
{
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_ON,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_OFF,0);
|
||||
}
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT1)
|
||||
{
|
||||
cSetIOStatusAddr=1;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=1;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT2)
|
||||
{
|
||||
cSetIOStatusAddr=2;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=2;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
break;
|
||||
}
|
||||
case OUTPORT_J3:
|
||||
{
|
||||
if (bDOSts&HBIT0)
|
||||
{
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_OFF,0);
|
||||
Sleep(5);
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_ON,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_ON,0);
|
||||
Sleep(5);
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_OFF,0);
|
||||
}
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT1)
|
||||
{
|
||||
cSetIOStatusAddr=11;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=11;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT2)
|
||||
{
|
||||
cSetIOStatusAddr=12;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=12;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT3)
|
||||
{
|
||||
cSetIOStatusAddr=13;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=13;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT4)
|
||||
{
|
||||
cSetIOStatusAddr=14;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=14;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
if (bDOSts&HBIT5)
|
||||
{
|
||||
cSetIOStatusAddr=15;
|
||||
cSetValue=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSetIOStatusAddr=15;
|
||||
cSetValue=0;
|
||||
}
|
||||
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
|
||||
Sleep(5);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
|
||||
//********************************************************************************//
|
||||
//*******************************************************************************//
|
||||
|
||||
@@ -4287,7 +4460,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_X(char SpeedGear)
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
|
||||
|
||||
TRACE1("[MOVE_X]:%d\n",static_cast<int>(SpeedGear));
|
||||
|
||||
if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1)
|
||||
{
|
||||
g_pLogger->SendAndFlushWithTime(_T("Jog X:%d.\n"),SpeedGear);
|
||||
}
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||
ep_buff[EP_81_DATA_IDX]._size = 0x03;
|
||||
|
||||
@@ -4308,7 +4484,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Y(char SpeedGear)
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
|
||||
|
||||
TRACE1("[MOVE_Y]:%d\n",static_cast<int>(SpeedGear));
|
||||
|
||||
if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1)
|
||||
{
|
||||
g_pLogger->SendAndFlushWithTime(_T("Jog Y:%d.\n"),SpeedGear);
|
||||
}
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||
ep_buff[EP_81_DATA_IDX]._size = 0x03;
|
||||
|
||||
@@ -4329,7 +4508,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Z(char SpeedGear)
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear;
|
||||
|
||||
TRACE1("[MOVE_Z]:%d\n",static_cast<int>(SpeedGear));
|
||||
|
||||
if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1)
|
||||
{
|
||||
g_pLogger->SendAndFlushWithTime(_T("Jog Z:%d.\n"),SpeedGear);
|
||||
}
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||
ep_buff[EP_81_DATA_IDX]._size = 0x03;
|
||||
|
||||
|
||||
@@ -57,6 +57,15 @@
|
||||
#define EIGHT_SEGS 8
|
||||
#define FIVE_RINGS 5
|
||||
|
||||
#define HBIT0 0X01
|
||||
#define HBIT1 0X02
|
||||
#define HBIT2 0X04
|
||||
#define HBIT3 0X08
|
||||
#define HBIT4 0X10
|
||||
#define HBIT5 0X20
|
||||
#define HBIT6 0X40
|
||||
#define HBIT7 0X80
|
||||
|
||||
const long MAX_INTENSITY = 0x3FF;
|
||||
#define MAXLIGHTVALUE 255
|
||||
#define MINLIGHTVALUE 1
|
||||
@@ -453,6 +462,9 @@ public:
|
||||
SSI_STATUS_MOTION so7_light_set_light();
|
||||
SSI_STATUS_MOTION so7_light_set_lamp_state(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch);
|
||||
|
||||
SSI_STATUS_MOTION so7_GetDIO(int Channel,BYTE& bDISts);
|
||||
SSI_STATUS_MOTION so7_SetDO(int Channel,BYTE bDOSts);
|
||||
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_X(char SpeedGear);
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_Y(char SpeedGear);
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_Z(char SpeedGear);
|
||||
|
||||
Reference in New Issue
Block a user