|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
我用是西门子224的PLC。步进电机为5相混合式的,0.72/0.36度。我编了个程序让电机右转500个脉冲后停止。应该是很简单的程序,可是我编出来老师出毛病。所以在这让大家看一下。" U6 k) m) t' l5 ]
MAIN+ r9 y7 V/ L; X. X/ }9 r
network1
3 G9 d1 X) C! W6 ?3 s4 E; N; iLD SM0.0 I1.0按下时初始化中间继电器+ G$ ]9 M. s' N, q' B* F" Q
A I1.0& Z, ~+ w& m2 i7 `* A) K$ Z3 \
S M0.1, 1
( k" d% | \) gS M1.0, 1
; A( Z$ S! ?1 v/ RS M2.0, 1
7 L$ y+ K/ X7 ?- znetwork2
' ~1 b# A8 H. F& m9 ?+ ~LD I0.1 I0.1按下时停止电机
" y% z$ v: f E$ |8 R# `, \R M1.0, 1 复位中间继电器
6 q( K" {1 ]+ W* b( S& v8 T: ~4 sR M0.1, 10 C; N8 }) X# j8 K2 m
R Q0.6, 1
! |: B9 z) V; |/ ZR M2.0, 1" h- c1 r. u( g0 T/ \' u5 O9 g- d
network3& n; L) U3 |8 R5 g3 ]7 b8 R/ D) x4 _
LD I1.3 I1.3按下时电机开始右转
7 X! ? T/ b( A/ t$ yA M0.1
; f: G- W8 E/ S- x7 s/ uCALL 右转
8 T S1 n" B' W0 A5 S# ?# h9 I: X
1 q! c M7 [. u* M. n( B右转子程序
' l! T" P( Y$ @# OLD SM0.0
1 B; U* ~5 v4 f7 e, W$ A! e8 qA M2.0& Q3 e7 z7 B+ r, K9 K7 k; s2 s; q
A M1.0
( N6 X! Z- y" GR Q0.7, 1 设置转动的方向
9 Z! b6 A" e. A, R7 V! W$ I- |MOVB 16#85, SMB77
0 e$ j* m0 D& v7 U1 x, wMOVW 5000, SMW78
% j, a5 X# W* Z- N* `, L dMOVD 500, SMD82
( O$ x6 @5 O5 G' f* m7 `4 mATCH 到位中断, 20 设置中断6 r) c* B& F, s! m
ENI
7 V! d% k8 Q7 r* C/ b m( [PLS 1& w% O4 y' p n: Z/ e' K
8 g7 t6 t" m' k- a7 n! s+ \中断程序
5 X3 v1 X2 E9 T* Q! G/ b4 aLD SM0.0
$ t3 j* W3 c& c. k" IS Q0.6, 1 让q0.6置1,显示中断程序已运行7 ~ d( E6 ?# C
R M1.0, 1 使电机不在运行
1 r' e: x. |! }3 x7 vR M0.1, 1& w6 {9 }* S& N$ O
( R, A! Z5 ~- [; e
现在问题是Q0.6的灯亮了,但是电机还在转,发出脉冲的Q0.1位还是亮的。按理说Q0.68 r E; u" {# n V- [- i' L2 u
亮了,中断程序就是执行了。但是中断执行了,为什么电机还转 啊?还有一个问题,我设置的是
% r9 _5 w. G/ s$ g半步运行,按理说1000个脉冲才是一圈啊,但是现在500个脉冲就转了一圈。Q0.6是在电机转了半圈后亮的
: @" f4 b( _0 z1 E。感觉很奇怪啊。; z2 k! [7 S; c# K; }3 l
再这里请各位给予解答啊 |
|