PLC机器人控制器编程笔记

开发平台:开启时代四代集成开发平台
参考文献:[1]开启时代四代开发平台使用说明书
文章整理了相关基础知识,并以实际应用的消防排烟机器人的控制程序为例,描述了变量捕捉、线性变换等常用的功能,详细阐述了机器人液压控制模块、云台控制模块、报警功能模块等部分的编程逻辑。

一、数据类型和数字进制

在这里插入图片描述

二、变量

(1)中间变量
在这里插入图片描述
(2)虚拟变量
在这里插入图片描述

(3)用户变量
跟据需求创建的变量,统一以Var_修饰
:RAM 随机存储,控制器重启数据将丢失
EEPROM 掉电储存,控制器重启数据恢复

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、捕捉变量

捕捉变量PF主要用于捕捉采集变量的变化,常常用于事件的触发。如果采集量增大了相应的捕捉变量为1,采集量减小了相应的捕捉变量为2.采集量不变相应的捕捉变量为0。
详情可参照下文主模块中的风机转速控制。

四、线性变换

主要用于处理传感器信号。
在这里插入图片描述

五、指令系统

(1)基础逻辑指令

基础逻辑指令主要包括触点的与、或、非运算指令。主控、置位、复位、取反、结束、定时器、计数器等操作指令。
1.取指令及线圈输出指令
在这里插入图片描述
2.触点串联指令略。。
3.触点并联指令略。。
4.串联电路块并联指令略。。
5.并联电路快串联指令略。。
6.置位、复位与取反指令
在这里插入图片描述

(2)定时器指令

在这里插入图片描述
在这里插入图片描述

(3)计数器指令

在这里插入图片描述

(4)脉冲指令

在这里插入图片描述

(5)模块结束指令

在这里插入图片描述

(6)数值比较指令

在这里插入图片描述

(7)按位运算指令

在这里插入图片描述

(8)自增自减指令

在这里插入图片描述

(9)赋值、加、减、乘、除、求余指令

在这里插入图片描述

六、上电初始化模块

主要由总ON触点和C语言模块组成。主要对存储在EEPROM中的变量进行初始化赋值,以及使能。
在这里插入图片描述

 	Var_LowvoltageAlarm = 250;
    Var_CoolantTempAlarm = 103;
    Var_LowoillevelAlarm = 10;
    Var_HydoilTempAlarm = 90;
    Var_Flywheel = 129;
    Var_HighvoltageAlarm = 290;
    Var_1C = 2290;
    Var_2C = 1795;
    Var_3C = 1707;
    Var_4C = 1397;
    Var_5C = 1253;
    Var_6C = 1098;
    Var_7C = 942;
    Var_8C = 857;
    Var_9C = 758;
    Var_10C = 631;
    EPsave=0xff;
    EPsave32=0xffffffff;

七、主模块

发动机参数设置:

//***********发动机转速******************//
Var_Speed = _PI0 * 60L / Var_Flywheel;

if(Var_Speed > 3000)
{
    Var_Speed = 3000;
}

//***********冷却液温度******************//
Var_CoolantTemp=40;
//***********机油压力******************//
if(Var_AD02<3573)
{
    Var_R2 = (Var_AD02*100L)/(3573-Var_AD02);
}
else Var_R2 = 10;
//***********燃油油位******************//
if(Var_AD04<3573)
{
    Var_R4 = (Var_AD04*100L)/(3573-Var_AD04);
}
else Var_R4 = 0;
//***********机油温度******************//
if(Var_AD05<3573)
{
    Var_R5 = (Var_AD05*1000L)/(3573-Var_AD05);//阻值放大10倍
}
else Var_R5 = 6000;
//**********车速**********//
if((_M140==1)&&(_M144==1))
{
Var_Speed_cs=Var_Walk_Left*Var_Speed*3.13/1000000;
}
else Var_Speed_cs=0;
//*******车速上传*******//
Var_Speed_CS=Var_Speed_cs*10;
//********机油温度上传********//
Var_OilTemperature1=Var_OilTemperature;

八、液压控制模块

主要分为左履带前进,左履带停止,左履带后退。右履带前进,右履带停止,右履带后退。以及占空比设置。履带运动部分主要由比较指令和C语言模块组成。占空比设置部分主要由总ON触点和C语言模块组成。

Var_Walk_LeftC1=(Var_Walk_Left*450L+1000L*300L-750*1)/999;
if(Var_Walk_LeftC1>800)
{
	Var_Walk_LeftC1=800;
}

比较指令主要用Var_Walk_Left和Var_Walk_Right和0比较。
:Var_Current=((b-a)*Var_Stick+ad-bc)/(d-c)

_PWMZD00=Var_Walk_LeftC1*16.5*1.02/Var_voltage;
_PWMZD01=Var_Walk_LeftC2*16.5*1.02/Var_voltage;
_PWMZD02=Var_Walk_RightC1*16.5*1.02/Var_voltage;
_PWMZD03=Var_Walk_RightC2*16.5*1.02/Var_voltage;
if(Van_Fan_Speed==1)
{
	Van_Fan_Current=200;
}
else if(Vam_Fan_Speed==2)
{
	Van_Fan_Current=300;
}
else if(Van_Fan_Speed==3)
{
	Van_Fan_Current=400;
}
else
{
	Van_Fan_Current=0;
}
_PWMZD04=Var_Fan_Current*38.9*0.988/Var_voltage;

九、云台控制模块

云台控制模块则主要包括变焦控制和方向控制以及所有动作停止。其中,TDATA1,TDATA2分别是同步字节和摄像机逻辑地址号,保持不变。而DATA3和DATA4为指令码,根据指令码表对其进行赋值。DATA5和DATA6则分别为水平和垂直速度。DATA7则为校验码。
下面以云台左为例:
在这里插入图片描述
在这里插入图片描述

_TDATA1 = 0xff;//字节1,同步字节始终为FFH
_TDATA2 = 0x01;//字节2,摄像机的逻辑地址号,地址范围:00H–FFH
_TDATA3 = 0x00;//字节3,指令码1
_TDATA4 = 0x04;//字节4,指令码2
_TDATA5 = Var_Camera_L_S;//字节5,数据码1,水平速度(00-3FH),FFH表示“turbo”速度
_TDATA6 = 0x00;//字节6,数据码2,垂直方向速度(00-3FH),FFH表示“turbo”速度
_TDATA7 = (_TDATA2 + _TDATA3 + _TDATA4 + Var_Camera_L_S + _TDATA6) % 256L;//字节7,校验码 = MOD[(字节2 + 字节3 + 字节4 + 字节5 + 字节6)/100H]
//指令码表
//上→0x00,0x08;下→0x00,0x10;左→0x00,0x04;右→0x00,0x02;
//左上→0x00,0x0c;右上→0x00,0x0a;左下→0x00,0x14;右下→0x00,0x12;
//变倍+:0x00,0x20;变倍-:0x00,0x40;变焦+:0x01,0x00;变焦-:0x00,0x80;
//光圈+:0x02,0x00;光圈-:0x04,0x00;停止:0x00,0x00;

十、报警功能模块

(1)以说明书中对水温高和燃油油位低的报警为例。要求当系统采集到的冷却液温度大于103°的时候,显示屏提示水温高图片和文字,并伴随蜂鸣器蜂鸣。当燃油油位低于10%的时候,则只显示油位低图片和文字,其中系统资源已知:
_AI4 水温传感器信号输入
_AI6 燃油油位传感器信号输入
_M01水温报警监控位
_M02燃油油位监控位
1.首先应当进行线性变换,对系统采集的AD值转换为实际值
2.对报警内容和报警页面进行设计
3.控制程序编写
在这里插入图片描述

(2)在排烟消防机器人的报警模块中,主要对壳体温度过高、机油压力过低、机油温度过高、系统电压过高过低和燃油油位过低进行报警。其中还需要温控开关模块。
1.壳体温度过高和温控开关输入的是一个开关量,而不是模拟量,故而采用DI端口输入,监控位则分别是M00和M01,其控制程序如下:
在这里插入图片描述
2.机油压力和机油温度
在这里插入图片描述

3.系统电压
在这里插入图片描述

4.燃油油位
:定时器时间需要按照实际操作调试。系统电压低和机油压力低的报警触发条件需要保证在发动机发动后。
在这里插入图片描述
5.警报取消
分为主动取消和警报数值恢复正常两部分,通过置位和复位指令对监控位进行控制。
在这里插入图片描述
在这里插入图片描述
6.蜂鸣器控制
由报警和警报消除的监控位共同控制蜂鸣器的开关。

在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⁡⁢⁡布莱克先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值