407 lines
6.5 KiB
C
407 lines
6.5 KiB
C
|
|
#include "inout.h"
|
|
#include "funcs.h"
|
|
|
|
|
|
//-------------ST 调试灯-------------------------
|
|
|
|
OUTPUT_FUNCS(Led, LED);
|
|
|
|
//-----------------------------------------
|
|
|
|
OUTPUT_FUNCS(Spi1Nss, SPI1_NSS);
|
|
OUTPUT_FUNCS(Spi2Nss, SPI2_NSS);
|
|
OUTPUT_FUNCS(Spi3Nss, SPI3_NSS);
|
|
|
|
//-----------------------------------------
|
|
|
|
OUTPUT_FUNCS(WNetRst, W5500_RST);
|
|
|
|
OUTPUT_FUNCS(En485Out, USART6_EN);
|
|
|
|
//-----------------------------------------
|
|
|
|
#define GETOUTVAL(num) \
|
|
u8 Output##num##Sta(void)\
|
|
{\
|
|
return GetOutputVal(num);\
|
|
}
|
|
|
|
GETOUTVAL(1);
|
|
GETOUTVAL(2);
|
|
GETOUTVAL(3);
|
|
GETOUTVAL(4);
|
|
GETOUTVAL(5);
|
|
GETOUTVAL(6);
|
|
GETOUTVAL(7);
|
|
GETOUTVAL(8);
|
|
|
|
#define GETECDSIGNALVAL(Name, LABEL) \
|
|
u8 Get##Name##Status(void) \
|
|
{\
|
|
return (((GetEcdStatus() & LABEL##_STA) != 0) ? Bit_SET : Bit_RESET);\
|
|
}
|
|
|
|
GETECDSIGNALVAL(AP1, AP1);
|
|
GETECDSIGNALVAL(BP1, BP1);
|
|
GETECDSIGNALVAL(ZP1, ZP1);
|
|
GETECDSIGNALVAL(AP2, AP2);
|
|
GETECDSIGNALVAL(BP2, BP2);
|
|
GETECDSIGNALVAL(ZP2, ZP2);
|
|
|
|
#define GETINPUTVAL(Name, LABEL) \
|
|
u8 Get##Name##Status(void) \
|
|
{\
|
|
return (((GetInputStatus() & LABEL##_STA) != 0) ? Bit_SET : Bit_RESET);\
|
|
}
|
|
|
|
GETINPUTVAL(Input1, INPUT1);
|
|
GETINPUTVAL(Input2, INPUT2);
|
|
GETINPUTVAL(Input3, INPUT3);
|
|
GETINPUTVAL(Input4, INPUT4);
|
|
GETINPUTVAL(Input5, INPUT5);
|
|
GETINPUTVAL(Input6, INPUT6);
|
|
GETINPUTVAL(Input7, INPUT7);
|
|
GETINPUTVAL(Input8, INPUT8);
|
|
GETINPUTVAL(Input9, INPUT9);
|
|
GETINPUTVAL(Input10, INPUT10);
|
|
GETINPUTVAL(Input11, INPUT11);
|
|
GETINPUTVAL(Input12, INPUT12);
|
|
GETINPUTVAL(Input13, INPUT13);
|
|
GETINPUTVAL(Input14, INPUT14);
|
|
GETINPUTVAL(Input15, INPUT15);
|
|
GETINPUTVAL(Input16, INPUT16);
|
|
|
|
//-------------电机1-------------------------
|
|
void SetMoto1SignOn(void) // 电机1方向
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto1SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto1PulseOn(void) // 电机1脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto1PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto1SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto1SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto1SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto1SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID1, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM1AlmStatus(void) // 电机1报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS1_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-------------电机2-------------------------
|
|
void SetMoto2SignOn(void) // 电机2方向
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto2SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto2PulseOn(void) // 电机2脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto2PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto2SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto2SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto2SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto2SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID2, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM2AlmStatus(void) // 电机2报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS2_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-------------电机3-------------------------
|
|
void SetMoto3SignOn(void) // 电机3方向
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto3SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto3PulseOn(void) // 电机3脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto3PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto3SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto3SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto3SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto3SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID3, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM3AlmStatus(void) // 电机3报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS3_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-------------电机4-------------------------
|
|
void SetMoto4SignOn(void) // 电机4方向
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto4SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto4PulseOn(void) // 电机4脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto4PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto4SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto4SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto4SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto4SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID4, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM4AlmStatus(void) // 电机4报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS4_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-------------电机5-------------------------
|
|
void SetMoto5SignOn(void) // 电机5方向
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto5SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto5PulseOn(void) // 电机5脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto5PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto5SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto5SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto5SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto5SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID5, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM5AlmStatus(void) // 电机5报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS5_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-------------电机6-------------------------
|
|
void SetMoto6SignOn(void) // 电机6方向
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_SIGN_CCW);
|
|
}
|
|
void SetMoto6SignOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_SIGN_CW);
|
|
}
|
|
|
|
void SetMoto6PulseOn(void) // 电机6脉冲
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_PLUS_ON);
|
|
}
|
|
void SetMoto6PulseOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_PLUS_OFF);
|
|
}
|
|
|
|
void SetMoto6SelAOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_SEL_HIGH);
|
|
}
|
|
|
|
void SetMoto6SelAOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_SEL_LOW);
|
|
}
|
|
|
|
void SetMoto6SelBOn(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_EN_HIGH);
|
|
}
|
|
|
|
void SetMoto6SelBOff(void)
|
|
{
|
|
SetAxisConfig(AXIS_ID6, MOUT_EN_LOW);
|
|
}
|
|
|
|
u8 GetM6AlmStatus(void) // 电机6报警
|
|
{
|
|
if ((GetAlarmValue() & AXIS6_ALM) != 0)
|
|
{
|
|
return SENSOR_ON;
|
|
}
|
|
else
|
|
{
|
|
return SENSOR_OFF;
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------
|
|
|
|
u8 GetInputNullOn(void)
|
|
{
|
|
//输入空操作
|
|
return Bit_RESET;
|
|
}
|
|
|
|
u8 GetInputNullOff(void)
|
|
{
|
|
//输入空操作
|
|
return Bit_SET;
|
|
}
|
|
|
|
void SetOutputNull(void)
|
|
{
|
|
//输出空操作
|
|
}
|
|
|
|
//-----------------------------------------
|
|
|
|
void SetDefaultOut(void)
|
|
{
|
|
USART6_485OutDis();
|
|
}
|
|
|