codesys多段直线电机跨电机控制

1. 电机描述

 在X轴上有多段直线电机,如下图有9个,从X1到X9.

2.codesys程序结构

 

程序名称:Pou_two_motors

动作名称:ACT_move

把这个程序搞到任务配置里面

通过ethercat总线命名一下这些电机,方便调用。

3.程序内容

PROGRAM POU_two_motors
VAR
	MC_Power0,MC_Power1: MC_Power;
	MC_MoveAbsolute0,MC_MoveAbsolute1: MC_Moveabsolute;
	AcPos,TarPos,Acc,Dcc,Jerk,speed: LREAL;
	Direction: SM3_Basic.MC_Direction;
	MotorNum,step: INT;
END_VAR
speed:=100;Acc:=speed*10;Dcc:=speed*10;Jerk:=speed*100;

IF (140*4<Axis_X4.fActPosition AND_THEN Axis_X4.fActPosition<140*5) THEN	
	AcPos:=Axis_X4.fActPosition;
	MotorNum:=4;
END_IF
IF (140*5<Axis_X5.fActPosition AND_THEN Axis_X5.fActPosition<140*6) THEN	
	AcPos:=Axis_X5.fActPosition;
	MotorNum:=5;
END_IF

IF TarPos>AcPos THEN
		Direction:=MC_Direction.positive;
	ELSE
		Direction:=MC_Direction.negative;
END_IF

ACT_move();

CASE step OF
	1:
	TarPos:=140*5;	
	MC_Power0.bRegulatorOn:=TRUE;
	IF MC_Power0.status  THEN
		MC_MoveAbsolute0.Execute:=TRUE;
	END_IF
	//IF MC_MoveAbsolute0.Done=1 AND_THEN Acpos>TarPos-1 THEN
	IF MC_MoveAbsolute0.Done=1  THEN
		MC_MoveAbsolute0.Execute:=FALSE;
		MC_Power0.bRegulatorOn:=FALSE;
		step:=2;
	END_IF
	2:
	TarPos:=140*6-20;
	MC_Power1.bRegulatorOn:=TRUE;
	IF MC_Power1.status  THEN
		MC_MoveAbsolute1.Execute:=TRUE;
	END_IF
	IF MC_MoveAbsolute1.Done=1  THEN
		MC_MoveAbsolute1.Execute:=FALSE;
		step:=3;
	END_IF
	3:
	TarPos:=140*5;
	MC_Power1.bRegulatorOn:=TRUE;
	IF MC_Power1.status  THEN
		MC_MoveAbsolute1.Execute:=TRUE;
	END_IF
	//IF MC_MoveAbsolute1.Done=1 AND_THEN Acpos<TarPos+1 THEN
	IF MC_MoveAbsolute1.Done=1 THEN
		MC_Power1.bRegulatorOn:=FALSE;
		MC_MoveAbsolute1.Execute:=FALSE;
		step:=4;
	END_IF
	4:
	TarPos:=140*4+20;	
	MC_Power0.bRegulatorOn:=TRUE;
	IF MC_Power0.status  THEN
		MC_MoveAbsolute0.Execute:=TRUE;
	END_IF
	IF MC_MoveAbsolute0.Done=1  THEN
		MC_MoveAbsolute0.Execute:=FALSE;
		step:=1;
	END_IF
END_CASE


 程序功能块是这么调用的

4.注意事项

1.该程序可以完成从X4到X5电机往返来回切换;

2.同一电机切换的时候不能下使能,切换电机上一个电机要下使能

MC_Power0.bRegulatorOn:=FALSE;

3.这个在切换电机的时候,会停止后再运行,速度越快越明显。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/786716.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI转绘_animatediff-cli-prompt-travel

这个工具有两种主要模式&#xff1a;它可以直接通过提示创建视频&#xff0c;或者它可以对现有视频进行风格化。还有方法可以提高视频的分辨率。 正如工具名称所示&#xff0c;它的一个主要特点是"提示旅行"。这意味着你可以例如使用特定的提示用于前20帧&#xff0…

SAP PS学习笔记03 - 批量更改Project(CNMASS),批量创建Project(CNMASSCREATE)

上一章讲了网络&#xff08;Network&#xff09;&#xff0c;活动&#xff08;Activity&#xff09;&#xff0c;PS长文本&#xff0c; PS文书&#xff08;凭证&#xff09;&#xff0c;里程碑&#xff08;Milestone&#xff09;的创建等相关知识。 SAP PS学习笔记02 - 网络&a…

产线级MES系统在装配行业的具体应用

在装配行业中&#xff0c;产线级MES系统能够帮助企业优化生产流程&#xff0c;提高产品质量&#xff0c;增强生产效率。以下是产线级MES系统在装配行业中的一些具体应用场景。 了解慧都产线级MES系统>> 产线级MES系统应用场景 1. 生产过程监控与管理 MES系统可以实时…

nvm安装报错(镜像问题)

一、问题报错 安装的时候如果跟着网上早些时候的配置&#xff0c;调整了setting文件&#xff0c;配置镜像的话&#xff0c;可能报这个错误。 这个是因为他没检索到后面的链接地址&#xff0c;因为镜像的地址新的已经更换了。使用这个吧&#xff1a; node_mirror: https://npm…

华为防火墙 拓扑搭建1

拓扑图 要求 1.DMZ区内的服务器&#xff0c;生产区仅能在办公时间内&#xff08;9&#xff1a;00-18&#xff1a;00&#xff09;可以访问&#xff0c;办公区设备全天可以访问 配置安全策略 设置办公时间 2.生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网…

2024年全国青少年信息素养大赛图形化编程小高组复赛真题

2024年全国青少年信息素养大赛图形化编程小高组复赛真题 题目总数&#xff1a;6 总分数&#xff1a;100 编程题 第 1 题 问答题 请对变身鱼进行编程&#xff0c;变身鱼的初始状态已经设置&#xff0c;不需要进行修改&#xff0c; 1.当变身鱼大小大于300时&#xff0…

希喂、鲜朗和牧野奇迹主食冻干怎么样?第一次喂冻干哪款更好

我是个宠物医生&#xff0c;每天很长时间都在跟猫猫狗狗打交道&#xff0c;送到店里来的猫猫状态几乎是一眼就能看出来&#xff0c;肥胖、肝损伤真是现在大部分家养猫正面临的&#xff0c;靠送医治疗只能减缓无法根治&#xff0c;根本在于铲屎官的喂养方式。 从业这几年&#…

redis学习(007 实战:黑马点评:登录)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第25p-第p34的内容 文章目录 短信登录功能session 共享问题 短信登录功能 接口编写 这里是Result的封装 过滤器在拦截器的外层…

uni-app三部曲之二: 封装http请求

1.引言 前面一篇文章写了使用Pinia进行全局状态管理。 这篇文章主要介绍一下封装http请求&#xff0c;发送数据请求到服务端进行数据的获取。 感谢&#xff1a; 1.yudao-mall-uniapp: 芋道商城&#xff0c;基于 Vue Uniapp 实现&#xff0c;支持分销、拼团、砍价、秒杀、优…

java项目总结数据库

1.什么是数据库 用于存储和管理数据的仓库 2.数据库的特点 1.持久化存储数据。确实数据库就是一个文件系统。 2.便于存储和管理数据 3.使用统一的方式操作数据库 --SQL 3.MqSql服务启动 4.登录和退出 这里的ip值IP地址 5.客户端与服务器关系 6.目录结构 7.SQL 1.什么是SQL&…

跟《经济学人》学英文:2024年6月29日这期 A new lab and a new paper reignite an old AI debate

A new lab and a new paper reignite an old AI debate Two duelling visions of the technological future 对技术未来的两个对立的愿景 reignite&#xff1a;美 [ˌriɪɡˈnaɪt] 重新点燃&#xff1b;重新激起 duel&#xff1a;美 [ˈduːəl] 决斗&#xff1b;对决&…

自动群发消息插件常用源代码科普!

随着网络技术的快速发展&#xff0c;自动群发消息插件成为了众多企业和个人提高效率、加强沟通的重要工具。 然而&#xff0c;开发一个高效且稳定的自动群发消息插件并非易事&#xff0c;需要深入理解并熟练掌握相关的源代码。 本文将从五个方面&#xff0c;通过具体的源代码…

解决 NullReferenceException: Object reference not set to an instance of an object

在 Unity 中 利用 URDF Importer import UR5e_gripper 的 URDF file 时出现错误&#xff1a; NullReferenceException: Object reference not set to an instance of an object。 理论上是有个Object 是 Null&#xff0c;当我再次检查URDF后仍觉得路径没有写错。 于是我 把Mesh…

什么是O2O?线上线下怎么完美结合?

现如今互联网技术飞速发展&#xff0c;智能手机普及。O2O&#xff08;Online To Offline&#xff09;模式已经成为一种新的商业模式&#xff0c;人们的生活和消费习惯也逐渐被改变。经常听到企业提到“O2O”&#xff0c;它究竟是什么呢&#xff1f;对企业有着什么魅力呢&#x…

Zynq系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTX高速接口,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的以太网方案本博已有的FPGA图像缩放方案1G/2.5G Ethernet PCS/PMA or SGMII架构以太网通信方案AXI 1G/2.5G Ethernet Subsystem架构以太网通信方案本方案的缩放应用本方案在Xilinx--Kintex系列…

什么,有狗快跑!慢着,这次手把手教你怎么过安全狗!(sql注入篇)

前言 在记忆里上次绕安全狗还是在上次&#xff0c;开开心心把自己之前绕过狗的payload拿出来&#xff0c;发现全部被拦截了&#xff0c;事情一下子就严肃起来了&#xff0c;这就开整。 环境 本次环境如下sqli-lab的sql注入靶场 网站安全狗APACHE版V4.0版本的最高防护等级绕过…

大数据之Hadoop平台的搭建

实验环境 三台虚拟机 master slave1 slave2 服务器集群单节点&#xff0c;机器最低配置&#xff1a;双核 CPU、8GB 内存、100G 硬盘运行环境CentOS 7.4服务和组件服务和组件根据实验需求安装 1实验过程 1.1实验任务一&#xff1a;配置 Linux 系统基础环境 1.1.1步骤一&a…

信友队 货仓选址

题目ID&#xff1a;9731 必做题 100分 时间限制: 200ms 空间限制: 65535kB 题目描述 时间&#xff1a;0.2s 空间&#xff1a;64M 【题目描述】 在一条数轴上有 N 家商店&#xff0c;他们的坐标分别为 A[1]~A[N]。现在需要在数轴上建立一家货仓&#xff0c;每天清晨&#x…

前端水印使用指南

一、背景 用户在使用系统的时候&#xff0c;有些数据是有权限的用户才能查看&#xff0c;有权限查看数据的用户在查看数据的时候&#xff0c;把数据截图发给了没有权限查看的用户&#xff0c;然后数据泄露了&#xff0c;当截图多次流转后就逐渐不知道最初是谁截的图&#xff0…

Presto报错:[Presto requires an Oracle or OpenJDK JVM (found Red Hat, Inc.)]

启动前: 已经搭建了jdk环境hadoop的jdk环境配置没有问题 启动Presto时&#xff0c;报错 解决方案: 可能是presto自身变量配置没生效在presto路径下找到bin目录, 进入启动脚本launcher 在 exec "$(dirname “ 0 " ) / l a u n c h e r . p y " " 0"…