fm351如何控制一台步进电机控制器编程

西门子plc控制伺服电机的方法及举例(最好带有梯形图讲解)_百度知道
西门子plc控制伺服电机的方法及举例(最好带有梯形图讲解)
如果使用普通CPU,则需要用到定位模块。如S7-200+EM253,但这只适用于步进电机的开环控制,因为系统没有编码器接口。如使用S7-300,则可使用FM351、FM354、FM357-2等定位模块构成闭环的运动控制系统。S7-300系列同时提供了T系列CPU,是普通逻辑CPU与工艺CPU的集成,有两个型号:315T和317T。其集成的工艺CPU专用于运动控制,通过等时同步的DP口,可以连接带DP接口的驱动器,也可连接IM174接口模块,用于连接无DP接口的普通驱动器。至于具体的应用,你可以在西门子(中国)自动化的官方网站找到详细的介绍及资料,包括系统的构建订筏斥禾俪鼓筹态船卡、编程及使用。
其他类似问题
为您推荐:
其他5条回答
不好意思订筏斥禾俪鼓筹态船卡 没有例子 PLC控制伺服,就是通过发脉冲 如果带通信口的话 还可以走总线我在看 西门子PLC S7-200从入门到精通-技成视频教程 里面有讲解 可以下载下来看看
用PLC控制伺服电机
1.引言  伺服电机在自动控制系统中用作执行元件,它将接收到的控制信号转换为轴的角位移或角速度输出。通常的控制方式有三种:①通讯方式,利用RS232或RS485方式与上位机进行通讯,实现控制;②模拟量控制方式,利用模拟量的大小和极性来控制电机的转速和方向;③差分信号控制方式,利用差分信号的频率来控制电机速度。简单、方便的实现对伺服电机转速的精确控制是工业控制领域内的一个期望目标,本文主要研究如何利用PLC输出的模拟量实现对伺服电机的速度较为精准的控制。2.控制系统电路  控制装置选用西门子S7-200系列PLC CPU224XPCN,这种型号的PLC除了带有输入输出点外。还有1个模拟量输入点和1个模拟量输出点,这一型号PLC所具有的模拟量模块,能够满足控制伺服电机的需要。触摸...
百度下工控编程吧,在西门子板块有几千个编程实例,免费下载的
为什么不找对应伺服驱动器的说明书,上边一般有例子的
没有邮箱?
西门子plc的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共30个文档积分:2500分
共30个文档积分:1500分
共57个文档积分:1300分
共50个文档积分:2500分
29567人查阅
29500人查阅
28985人查阅
29314人查阅
29585人查阅
28826人查阅
所需积分:0分查看: 1039|回复: 9
最后登录注册时间积分1帖子精华0UID907090
中尉, 积分 1, 距离下一级还需 7 积分
最后登录注册时间积分1帖子精华0UID907090
我想通过pc直接发脉冲给步进电机驱动器(不带串口通信模块),控制步进电机启停动作;脉冲经USB端口DATA+和DATA-连接步进驱动器plus+和plus-,方向接头悬空。结果电机没有反应。情况可能如下:1)端口地址没弄对,脉冲没输出去;2)步进驱动器不接受经串口协议封装的信号。请问如何解决?谢谢。代码如下:; e&&A3 J2 k8 u: `3 r- G
// pulse_emission.cpp : 定义控制台应用程序的入口点。//. `' ?) J3 @1 |&&Z9 h
#include &stdafx.h&
#include &stdio.h&//&/stdio.h&0 X2 p5 q. J6 M
#include &time.h&//&/time.h&
#include &conio.h&//&/conio.h&
6 _& A4 B* R6 k: F' S
//脉冲宽50" u# W7 b1 |! V
const unsigned pulseWidthPlus = 50;
//脉冲槽宽50
const unsigned pulseWidthMinus = 50; &&p" V8 o) v7 Y2 `
//脉冲周期宽度100
const unsigned pulseCycle = pulseWidthPlus + pulseWidthM+ Z! Z; d9 w: y2 w: p8 ]* X8 H: s0 K
: `% l9 b/ k6 v! M' q5 c
void delay(clock_t nms)
{ $ _, a5 A7 Y. d4 ]0 x6 v1 }1 D( c
& & clock_
& & start = clock();$ s2 K3 Z$ Y. C& ?: v1 _' ^
& & while((clock() - start) * CLOCKS_PER_SEC / 1000 & nms);/ E* o&&b, `- Z% R4 j
}& h6 T, f6 z% o4 u
7 s% S4 c6 }! T, ~. ?5 m&&X$ {
void output(int *port, char polarity)
& & int peak = 0;, X" W, y* s- M1 P; K0 Q+ C/ e2 ]
& & if(polarity == '+') peak = 1;
& & else if(polarity == '-') peak = -1;
& & *port =, y' H" S; V. @6 B! E- R
void writeWaveform(int *port,unsigned pulseWidth, unsigned cycle, char polarity)
& & output(port,polarity);! V1 m5 S* ]" v
& & delay(pulseWidth);0 F! _&&c0 Y8 g
& & output(port,0);
& & delay(cycle - pulseWidth);2 B) _, f&&^( A. r% c0 U9 Z
}( M" k+ a% p6 p4 ^: T, u' p8 u) n
$ m- o! A! P$ j8 W! |- |& \
int _tmain(int argc, _TCHAR* argv[])( p, f% ~* C) ^( s, d3 u
& & char ch = 0,& `" g) f1 B! T" F: B
& & int p = 5; // p的值端口地址(这里用内存单元表示)0 D&&K3 |/ N2 L( {3 z
& & int *port = &p;( s&&}( j6 W: R/ c$ Y4 {
& & while(1)
& && &&&writeWaveform(port,pulseWidthPlus,pulseCycle,ch);
& && &&&if(kbhit())
& & & & & & & & {
& && && && &nch = _getch();
& && && && &if(nch == 0X1B) // &esc& 退出&/esc&
& && && && &if(nch == ch && nch != '+' && nch != '-')& P0 a+ r1 G* x* c8 @
& && && && &if(nch == '+') printf(&正在输出正脉冲。\n&);2 H2 m9 O. |, P7 P+ z
& && && && &else&&printf(&正在输出负脉冲。\n&);
& && && && &delay(10 * pulseCycle); // 转换输出脉冲极性时,需间隔的时间/ U' A# o$ z9 M. u5 V9 g& O
& && && && &ch =4 ?- g0 g&&O! g* [4 y5 x7 N- c
& & & & return 0;2 h+ n( K) w) M" E# }" i
' G- F- x( U) e! D
本帖子中包含更多资源
才可以下载或查看,没有帐号?
总评分:&威望 + 50&
最后登录注册时间积分60帖子精华0UID956958
少校, 积分 60, 距离下一级还需 40 积分
最后登录注册时间积分60帖子精华0UID956958
本帖最后由 机械社友 于
10:23 编辑
$ C) g1 T; W3 b" X3 Y
这个问题在这里讨论不讨合适,这属于电子和软件范围,不过还是给你大概说下吧
你的方案是不可能实现的,因为usb的信号是有协议的,不是你一直发1数据,那边就一直数据脉冲为+,协议会自动加上校验码之类的。usb的数据率一般几十m,不管你怎么发数据,1m左右跳变一次少不了的,这个频率任何步进也响应不了的5 L2 w, y! V+ G1 |! H
要想用电脑控制,得用并口或者usb控制卡之类的. Y) F4 [' h4 f- d6 i) D% d
&学习了,觉得说的有道理,应该用单片机控制驱动器,电脑接单片机&
总评分:&威望 + 50&
最后登录居住地江苏省 扬州市 宝应县 安宜镇注册时间积分351帖子精华0UID805914
大校, 积分 351, 距离下一级还需 149 积分
最后登录居住地江苏省 扬州市 宝应县 安宜镇注册时间积分351帖子精华0UID805914
配个驱动不就解决了吗
最后登录居住地北京市 昌平区注册时间积分25帖子精华0UID971812
上尉, 积分 25, 距离下一级还需 25 积分
最后登录居住地北京市 昌平区注册时间积分25帖子精华0UID971812
机械社友 发表于
10:19 / V# a& I) h, q3 v0 {9 u& F
这个问题在这里讨论不讨合适,这属于电子和软件范围,不过还是给你大概说下吧' w" s. [- h7 r6 ~
你的方案是不可能实现的,因 ...( Z9 ?& T$ S2 \% _
plc很容易实现
最后登录注册时间积分18帖子精华0UID980480
上尉, 积分 18, 距离下一级还需 32 积分
最后登录注册时间积分18帖子精华0UID980480
机械社友 发表于
10:19 & s) C; B1 e1 C% y& ^
这个问题在这里讨论不讨合适,这属于电子和软件范围,不过还是给你大概说下吧! J. B, m( j/ H9 h* I
你的方案是不可能实现的,因 ...
好深奥啊,我这种菜鸟都看不懂上面的代码- x' v0 }, y4 ~, h
最后登录注册时间积分-6帖子精华0UID980453
游客, 积分 -6, 距离下一级还需 6 积分
最后登录注册时间积分-6帖子精华0UID980453
直接肯定不能解码,建议增加CH430,说不定还有用
最后登录注册时间积分1帖子精华0UID907090
中尉, 积分 1, 距离下一级还需 7 积分
最后登录注册时间积分1帖子精华0UID907090
fengmingning 发表于
16:56 * W: k3 D! X$ U, m, M7 O8 I" k9 H/ e
配个驱动不就解决了吗2 r$ G5 d- p2 r* b
有个步进电机的驱动,但没有USB、串口模块,不好弄
最后登录注册时间积分1帖子精华0UID907090
中尉, 积分 1, 距离下一级还需 7 积分
最后登录注册时间积分1帖子精华0UID907090
glguolong 发表于
08:19 ( d& j8 s6 ~; [
直接肯定不能解码,建议增加CH430,说不定还有用4 _, A* j2 Q9 u7 w5 m* I
买了一个USB转RS232模块了!解码什么意思呀?换成9针里面两个数据针头吗?
最后登录注册时间积分-6帖子精华0UID980453
游客, 积分 -6, 距离下一级还需 6 积分
最后登录注册时间积分-6帖子精华0UID980453
本帖最后由 glguolong 于
09:23 编辑
liupengxxxx 发表于
09:08 ) Y, j9 t# O( I9 _* [1 w0 y5 A4 O- l. f
买了一个USB转RS232模块了!解码什么意思呀?换成9针里面两个数据针头吗?
RS232的电平估计也不能用,另外你不要直接接驱动器,他会给你很多假象,根据你的描述,你的Enable能端也没接,建议你直接先看,能不能出来固定一定频率的脉冲,先在示波器上做。
最后登录注册时间积分10帖子精华0UID981215
上尉, 积分 10, 距离下一级还需 40 积分
最后登录注册时间积分10帖子精华0UID981215
直接买一个带USB的CNC控制板不就得了吗?
Powered by}

我要回帖

更多关于 步进电机控制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信