咸宁地区西门子模块总代理
- 供应商
- 浔之漫智控技术(上海)有限公司
- 认证
- 联系电话
- 15821971992
- 全国服务热线
- 15821971992
- 经理
- 聂聪
- 所在地
- 上海市松江区广富林路4855弄88号3楼
- 更新时间
- 2023-10-26 04:00
咸宁地区西门子模块总代理
前面和大家一起进行了西门子plc的一些基础知识及编程元件的学习,下面和大家一起探讨一下具体应用程序的编写方法,我们以运料小车控制系统的编程方法为例进行讲解。
运料车主要用于搬运加工工件,在工矿企业的生产车间是比较常见的运输设备。运料车由三相交流异步电动机进行驱动。其运动方向的改变主要是通过电动机的正反转来实现。控制系统正常运行时,一般设为连续运行(自动控制)状态。但在调试系统或设备维修过程中,往往需把系统设为点动控制(手动控制),所以运料车的控制实际上就是电动机点动、连续正反转控制。
运料车由三相交流异步电动机拖动,可左右运行,如图1所示。具体控制要求如下:
图 1
1、点动控制时,按点动正转按钮,电动机正转点动运行,运料年左行;按点动反转按钮,电动机反转点动运行,运料车右行。
2、连续控制时,按正转按钮,电动机连续正转,运科车连续左行;按反转按钮,电动机连续反转,运料车连续右行;按停止按钮,运料车随时停止。
3、运料车应有软、硬件互锁控制功能
要求用前面已经学过的编程元件和方法试着编写plc控制编程(梯形图):
(1)用触点线圈指令编程;
(2)用置位复位指令编程;
(3)用跳转与跳转标号指令编程。
一、设计电气原理图
1、选择电器元件及plc型号
输入信号:点动正转按钮1个、点动反转按钮1个、连续正转按钮1个、连续反转按纽1个、停止按钮1个,输入信号共5个,要占用5个输入端子,所以plc输入至少需5点。(这里说明一下,限位因篇幅的原因,不做考虑)。
输出信号:正转接触器1个、反转接触器1个,占用plc两个输出端子,所以plc输出至少需2点。查西门子plc用户手册可知,cpu221主机输入6点、输出4点,能满足实际需求的输入5点输出2点的要求。因plc控制电动机,所以继电器输出型的plc就能满足要求,选择cpu221继电器输出型的plc即可。
2、设计电气原理图
电气原理图见图2所示。
图 2
二、控制程序设计
1、用触点指令编程
运料车的控制要求既有点动又有连续正反转控制功能,用中间继电器进行状态转换后就很较易实现要求,如图3所示,网络1、网络3实现了既能点动又能连续的正转控制,网络2、网络4实现了既能点动又能连续的反转控制。
图 3
2、用置位复位指令编程
用置位位复位指令编程也可以实现电动机连续控制,其运行程序如图4(1)所示。
图 4(1)
点动控制不能用置位复位指令,只能用触点线圈指令编程,既有点动、又有连续控制功能的电动机运行程序如图4(2)所示。
图 4(2)
3、用跳转与跳转标号指令编程
前面用5个按钮实现运料车点动,连续启停控制,其实点动、连续控制方式也可用旋转开关进行方式选择,这时正转反转停止按钮仍需要,电气原理图稍有变化。输入信号:旋钮开关1个,正转启动校钮1个,反转启动按钮1个,停止按钮1个,输入至少需4点。输出信号同前,正反转接触器线圈各1个,至少需2点。仍选择cpu221(输入6点,输出4点)继电器输出型。
电气原理图可在图1的基础上稍作修改,输入信号少用个按钮,在此不再重画电气原理图,程序中i0.3假设接通为点动,断开为连续,控制程序如图5所示。
图 5
前面也提到过,任何一个实际控制程序,可以用不同的方法来进行编写。究竟什么样的程序是合适的,就要看程序是不是编写简单、维护起来方便,还有就是运行可靠,尽量减少冗余。
西门子plc指令翻译
指令(英文全称意思):指令含义
1、ld ( load 装载 ):动合触点
2、ldn ( load not 不装载 ):动断触点
3、a ( and 与 动合):用于动合触点串联
4、an ( a
nd not 与 动断 ):用于动断触点串联
5、o ( or 或 动合 ) :用于动合触点并联
6、on ( or not 或 动断 ):用于动断触点并联
7、
= ( out 输出 ):用于线圈输出
8、old ( or lode):块或
9、ald ( and lode):块与
10、lps ( logic push ):逻辑入栈
11、lrd ( logic read ):逻辑读栈
12、lpp ( logic pop ):逻辑出栈
13、not ( not 并非 ):非
14、nop ( no operation performed ):无操作
15、aeno ( and eno ):指令盒输出端eno相与
16、s ( set 放置 ):置1
17、r ( reset 重置,清零 ):清零
18、p ( positive):上升沿
19、n ( negative):下降沿
20、ton ( on_delay timer ):接通延时定时器
21、tonr ( retentive on_delay timer ):有记忆接通延时定时器
22、tof ( off_ delay timer ):断开延时定时器
23、ctu ( count up ):增计数器
24、ctd ( count down ):减计数器
25、ctdu ( count up/ count down ):增减计数器
26、add ( add 加 ) :加注意
https://add_i (_ i 表示整数)
add_di( di表示双字节整数)
add-r (r 表示实数)
它们都是加运算只是数的大小不同。
27、sub ( subtract 减去,减少):减
28、mul ( multiply ):乘
29、div ( divide ):除
30、sqrt ( square root ):求平方根
31、ln ( napierian logarithm 自然对数 ):求自然对数
32、exp ( exponential 指数的 ):求指数
33、inc_b ( increment 增加 ):增1
https://其中_b代表数据类型 还有w(字节)、dw双字后面几个都是这样的。
34、dec_b ( decrement 减少 ):减1
35、wand_b ( word and 与命令 ):逻辑与
36、wor_b ( word or 或命令):逻辑或
37、wxor_b ( word exclusive or 异或命令):逻辑异或
38、inv_b ( inverse 相反 ):取反
39、mov _b ( move 移动 ):数据传送
40、blkmov_b ( block move 块移动):数据块传送
41、swap ( swap 交换 ):字节交换
42、fill ( fill 填充 ):字填充
43、rol_b ( rotate left 循环 向左):循环左移位
44、ror_b ( rotate right 循环 向右):循环右移位
45、shl_b ( shift right 移动向左):左移动
46、shr_b ( shift right 移动向右 ):右移动
47、shrb ( shift buffer 移动缓存):寄存器移位
48、stop ( stop 停止 ):暂停
49、end /mend ( end /mend ):条件/无条件结束
50、wdr ( watch dog reset ):看门狗复位
51、jmp ( jump 跳):跳转
52、lbl ( label 位置 ):跳转标号
53、for ( for 循环 ):循环
54、next ( next 再下去):循环结束
55、sbr ( subprogram regulating子程序控制 ):子程序调用
56、sbr_t ( subprogram regulating take ):带参数子程序调用
57、scr ( sequence control 顺序控制 ):步开始
58、scrt ( sequence control transfer 顺序控制转移 ):步转移
59、scre ( sequence control end 顺序控制结束 ) :步结束
60、ad_t_tbl ( add data to table 添加数据到表格中):填数据表
61、fifo ( first in first out 先进先出 ):先进先出
62、lifo ( last in first out 后进先出 ):后进先出
63、tbl_find ( table find 表格查找 ) :表查找
64、bcd_i ( binary coded decimal _i 二进制编码的十进制 ):bcd 码转整数
65、i_bcd ( i_ binary coded decimal ):整数转bcd码
66、b_i ( bit to int ):字节转整数
67、i_b ( int to bit ):整数转字节
68、di_i ( double int to int ):双整数转整数
69、i_di ( int to double int ):整数转双整数
70、round ( round 取整 ):实数转双整数
71、trunc ( trunc 截取 ):转换32位实数整数部分(舍去小数取整)
72、di_i (double int to int ):双整数转实数
73、enco ( encode 编码):编码
74、deco ( decode 译码):译码
75、seg ( segment decoder分断译码器 ):七段显示译码器
76、ath ( ascii码 turn hex ):ascii码转16进制
77、hta ( hexadecimal to ascii):16进制转ascii码
78、ita ( https:// int to ascii):整数转ascii码
79、dta ( https:// double int to ascii ):双整转ascii码
80、rta ( https:// real to ascii): 实数转ascii码
81、atch (https://attach ):中断连接
82、dtch ( depatch ):中断分离
83、hdef ( high speed counter definition ):高速计数器定义
84、hsc ( high speed counter 高速计数器 ):启动高速计数器
85、pls ( pulse 脉冲 ):脉冲输出
86、read_ rtc ( read real time clock 读实时时钟 ):读实时时钟
87、set_rtc ( set real time clock ):写实时时钟
88、xmt ( transmitter ):自由发送
89、rcv ( receive 接收 ):自由接收
90、netr ( net read 网络读 ):网络读
91、netw ( net write 网络写 ):网络写
92、get_addr ( get address 获取地址 ):获取口地址
93、set_addr ( set address 设置地址 ):设定口地址
94、pid ( proportional integral differential 比例、积分、微分):比例积分微分调节器。