1. CRC校验值计算
功能:利用信捷PLC的C语言功能函数功能块计算出CRC校验值。
CRC校验运算规则:
1. 令16-bit寄存器(CRC寄存器)=FFFFH。
2. 将第一个8-bit byte的讯息与低位元16-bit CRC寄存器异或(Exclusive OR)内。
3. 右移一位CRC寄存器,将0填入高位元处。
4. 检查右移的值,如果是0,就将第三步的新值存入CRC寄存器内,如果为非0,那么将CRC寄存器的值与A001H异或,将结果存入CRC寄存器内。
5. 重复步骤3到4,将8-bit全部运算完成。
6. 重复步骤2到5,取下一个8-bit的讯息指令,信捷PLC直到所有讯息指令运算完成。最后,得到的CRC寄存器的值,即是CRC的校验码。
示例代码:
```c
void CRC_Calculation(void) {
WORD CRC_寄存器 = 0xFFFF;
BYTE讯息;
// 读取讯息并填充到讯息数组中
// ...
for (int i = 0; i < 8; i++) {
CRC_寄存器 = (CRC_寄存器 << 1) | (讯息[i] & 0x01);
CRC_寄存器 ^= 0xA001;
}
// 将CRC寄存器的值存入输出变量
// ...
}
```
2. 控制4台面机
功能:启动4台面机,可以单独启动也可以同时一起启动,均为正转,速度可调。
主电路设计:
1. 启动成型机。
2. 撕面架合、推杆下一齿条进、吹馅、活塞上、推杆上、撕面架开、齿条退、活塞杆下。
动作命令:由成型电机轴上带动的转盘上的传感器按照一定的时序发给PLC,由PLC控制相应的电磁阀及伺服电机。
硬件设备:
信捷PLC(XC3-24T-E+XC-E16YT):体管输出型,有14点输入、10点输出。
XC-E16T:16点晶体管输出模块。
台达变频器:控制台面机及皮带机的精确调速。
台达触摸屏(DOP-A-80):用于显示和操作界面。
示例代码:
```c
void Control_4_Machines(void) {
// 控制逻辑根据传感器信号编写
// ...
}
```
3. 运料小车自动循环控制
功能:运料小车在A地启动,直接到B点装料,5秒后装料结束,开始左行,碰到左限位开关停止,开始卸料,3秒后右行,碰到右限位开关停止,在B点装料5秒后循环结束。按下停止按钮,小车必须将当前次循环走完,料卸空后,方可停止。
输入输出:
X0:左限位开关
Y0:电机正转(小车右行)
X1:右限位开关
Y1:电机反转(小车左行)
X2:启动
Y2:装料
X3:停止
Y3:卸料
示例代码: