信捷 PLC C语言 简易绝对运动函数BMC_A_DRVA_BODY在POU FC中的使用

在以前的文章中有描述传统梯形图的写运动控制程序,本文用C语言写简易绝对运动函数的使用。

1.在用户数据类型表中建立类型

2在全局变量表中建立变量

3.建立pou子程序

void POU_test_ethercat_motor_c_language()

{

#define SysRegAddr_HD_D_HM_M

#include "D:\XINJE\SuperAxisArray.h"//实际的地

DRVA_PAR_array0.Axis=Axis0;

DRVA_PAR_array0.Execute = motor_cond_array0.internal_cond;

DRVA_PAR_array0.AccTime = 0.05;

//DRVA_PAR_array0.Pos = 1;

DRVA_PAR_array0.Vel = 1;

BMC_A_DRVA_BODY ( &DRVA_PAR_array0 );

//if(BMC_Axis000.Status.StandStill )//M20008

if(Axis0->Status.StandStill )//马达静止状态

{

motor_cond_array0.internal_cond = false;

}

}

4.调用子程序

5.下载到PLC中调试

(1)在监视窗口将external_cond置true;

(2)修改Pos的值

(3) 将internal_cond置true

(4) 如果需要运动到另一个位置,到(2)步,然后(3)步

也就是说通过BMC_A_DRVA_BODY函数来执行简易绝对运动需满足两个条件:外部条件和内部条件,外部条件可以一直为true。设置好简易绝对运动的结构体参数后,让内部条件为true.

运动位置到达后,程序会自动复位内部条件。

另外说明:一个时刻对一个马达只能有一个地方调用(简易)运动指令,指令的形式包括梯形图也,功能块函数。

所以要确保:在不同地方的调用运动指令的条件的互斥关系。

相关推荐
從南走到北19 小时前
JAVA无人共享系统无人场馆预约篮球系统源码支持小程序+公众号+APP+H5
java·开发语言·小程序
码智社19 小时前
Maven 零基础完整教程
java·开发语言·maven
半夜修仙19 小时前
Spring集成邮箱功能
java·开发语言·spring boot·spring·rabbitmq·github·maven
码农学院20 小时前
电子产品企业泉州网络推广如何精准触达目标采购商
开发语言·php
慧都小项20 小时前
C/C++ 静态分析为什么要前移?Parasoft C/C++test 在 IDE 与 CI/CD 中的应用
c语言·c++·ide·功能测试·ai
qq_337763201921 小时前
国际期货资管系统开发方案|内外盘交易平台源码授权与二次开发支持
java·c语言·开发语言·c++·c#
不定积分要+C_yyy21 小时前
Java关键字final三种用法、核心特性与高频易错点
java·开发语言
xexpertS1 天前
队列积压治理:如何避免异步系统出现难以恢复的消息积压
java·开发语言
benchmark_cc1 天前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
程序员无隅1 天前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库