SIEMENS云南省丽江市西门子变频器、驱动、PLC(授权)一级代理商——西门子西南总代理

产品名称 SIEMENS云南省丽江市西门子变频器、驱动、PLC(授权)一级代理商——西门子西南总代理
公司名称 广东湘恒智能科技有限公司
价格 .00/件
规格参数 西门子总代理:PLC
西门子一级代:驱动
西门子代理商:伺服电机
公司地址 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
联系电话 15903418770 15915421161

产品详情

 定义函数

西门子自带的函数只能完成简单的功能,为了实现更gaoji的控制我们还要自己写一些函数。笔者在开发机器人控制器的过程中发现,网上公开的PLC函数库很少,目前笔者只知道OSCAT库。大家都在讨论基本的逻辑控制,却鲜有人讨论更gaoji的数学计算,可能 PLC 并不适合gaoji运动控制算法的实现。

下面我用一个很简单的进行角度弧度转换的函数为例来说明如何在 STEP 7 中自定义函数。
(1) 首先,我们新建一个函数FC(这个函数比较简单,不需要背景数据,所以不用 FB),实现的语言选择 SCL 语言。函数名为“DegreeToRad”。
(2) 然后,我们要明确这个函数的输入,在上面的变量定义栏中的 Input 项目中输入 angleInDegree,类型选择为 Real,如下图所示。在Return 项目中将 DegreeToRad 变量的类型改为 Real,这里注意不要修改 DegreeToRad 变量的名字。
图片
(3) 在下面的输入框输入变换公式。  这里要用 := 对变量进行赋值。你会注意到,变量 PI 是用双引号括起来的,而其它的变量(例如 angleInDegree)前面则带一个井号。这是用来区分局部变量和全局变量的,局部变量用#开头表示,而全局变量用引号表示。

10.4.3 定时器
定时器是我们会经常使用的一个功能,想输出随时间变化的量、想延时触发、想输出周期信号都要借助定时器。西门子的每个定时器都对应一个背景数据块。笔者早期经常犯的一个错误是,为了节省时间直接复制粘贴定时器块。其错误是不管你复制多少次,其实最终还是同一个定时器,而且后面的会覆盖前面的值。这个错误导致很多匪夷所思的错误,让笔者头疼了相当长的时间。各位一定要注意,每使用一个定时器都要重新拖进来新建。

10.4.4 磁循迹算法
为了让 AGV 始终沿着磁条行走,我们要编写相应的控制程序,也就是循迹程序。
循迹程序的逻辑可以非常简单,我们的输入是磁导航传感器的读数,输出则是舵轮转向的速度(或差速轮的转速差),磁条如果在 AGV 车体中心线的左侧,我们就往左偏转,反之在右侧就往右偏转,而如果恰好在中间则保持不动。下面的仿真动画展示了这种控制策略的效果,其中只使用了一个传感器和一个舵轮,但已经可以沿着曲线行走了。磁导航传感器有六个点,安装在前方,红色的方格表示感应到了磁条,白色表示没有感应到。