您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 固原分类信息网,免费分类信息发布

固原PLC编程报价 山东银恒电气

2019/8/3 5:47:46发布116次查看
山东银恒电气有限公司
松下plc编程
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用plc手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在plc编程软件下可以相互转换。
怎么才能学好plc编程
5
后就要走上实践,拿真的plc来练习编程调试自己的程序了,多与一些有经验的师傅交流学习,后走上工作岗位。
怎么才能学好plc编程
工具/原料
windows电脑一台
plc编程软件及仿真软件
方法/步骤
想学好plc必须有一定电工基础,因为想要编好程序,必须要知道plc控制的执行原件,实际就是用plc代替了一些传统的控制电路,但是执行元件是不变的,比如用接触器控制电机的通电。
plc的编程语言包括以下五种:梯形图语言(ld)、指令表语言(il)、功能模块图语言(fbd)、顺序功能流程图语言(sfc)及结构化文本语言(st)。不同型号的plc编程软件对以上五种编程语言的支持种类是不同的,早期的plc仅仅支持梯形图编程语言和指令表编程语言。目前的plc对梯形图(ld)、指令表(stl)、功能模块图(fbd)编程语言都以支持。比如,simatic step7 microwin v3.2。
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的plc系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数plc制造商采用的结构化文本编程语言与basic语言、pascal语言或c语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
在plc控制系统设计中,要求设计人员不但对plc的硬件性能了解外,也要了解plc对编程语言支持的种类。
二、西门子plc指令表功能汇总
指令( 英文全称意思 ) :指令含义
1、ld ( load 装载 ) :动合触点
2、ldn ( load not 不装载 ) : 动断触点
3、a ( and 与 动合) : 用于动合触点串联
4、an ( and 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、ctud ( count up/ count down ) :增减计数器
26、add ( add 加 ) : 加注意
//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
//其中_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 ( // int to ascii) : 整数转ascii码
79、dta ( // double int to ascii ) : 双整转ascii码
80、rta ( // real to ascii) : 实数转ascii码
81、atch (//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 比例、积分、微分 ) :比例积分微分调节器。
可编程序控制器(plc)的应用中,我们常会碰到对继电器控制系统的改造问题,这时我们往往要参考原有的继电器控制电路来编制plc的应用程序。因此,在编程时,我们应注意plc控制系统与继电器控制系统工作方式上的一些不同。
1.扫描方式不同
我们看一个例子:一个继电器控制回路如图1所示。
图一
因继电器控制系统是以“并行”方式工作的,而且其触点的通断需要一定的动作时间。所以当该电路起动后,时间继电器kt延时时间到时,kt是否能继续保持通电状态,需要同时考虑“并行”的两个动作过程:kt的常闭延时触点断开,ka1失电,ka1常开触点断开;kt的常开延时触点闭合,ka2得电,ka2常开触点闭合。这两个过程作用的结果,来决定kt的状态。同时,触点动作时间的存在,使得电路出现时序竞争。因此该电路不能可靠工作。如果加人虚框中的回路,并如图1把ka2的常开触点换成ka3的常开触点(见图1中括号)。结果是kt动作后,kt自身失电,就不会继续保持通电状态。
同样是这个电路,我们用plc来实现,梯形图如图2所示。 plc是以“串行”方式工作的,也就是以扫描的方式,循环地、连续地、顺序地,逐条执行程序的方式工作。同时在plc中,软触点的动作可认为是瞬时完成的,且其能把本次动作的结果记忆保持到下一次扫描运算时为止。即具有记忆保持功能。按这样一个顺序“串行”的工作方式,梯形图动作顺序如下:
图二
当在某一扫描周期中t38延时到后,则:网络1中t38 常闭触点断开(off) q0.0 off(无输出);网络2中t38常开触点闭合(on),q0.1 on;网络3中q0.0常开触点off,q0.1常开触点on,t38继续保持通电状态。而且不论我们在q0.1与t38之间再加多少级前面继电器电路所加的虚框中的回路,并把q0.1常开触点换成所加回路后一级继电器的常开触点,t38仍能继续保持通电状态。
2.输入控制方式不同
我们再看一个例子。大家都比较熟悉的电动机正反转控制电路,见图3。
图三
在这个电路里面,启动按钮我们使用sb1、sb2的常开按钮,而停止按钮则使用的是sb3的常闭按钮。plc程序里面也是这样设计的。(见图4)
图四
但是我们给plc设计硬件输入时,停止按钮sb3却不能像继电器控制电路那样使用常闭触点而是使用的常开触点,见图5。这是为什么呢?这是因为继电器控制电路里按钮开关直接控制接触器的线圈,而在plc控制程序里,按钮开关控制的却是与之对应的输入继电(i),而由这个输入继电器再去控制其触点,不能把硬件按钮开关看出程序里的软触点,就相当是拐了个弯一样。程序里的软触点受相应的输入继电器控制,而输入继电器的状态又受外部所接的输入信号元件(比如按钮开关)的控制。这是初学者容易搞混淆的地方。
图五
假设这个例子里的停止按钮sb3我们像继电器控制电路一样,使用常闭触点的话,那么plc一上电,sb3对应的输入继电器i0.2立即为on,则相应的软触电i0.2就会改变状态常闭触点立即就断开了,如果再按下启动按钮sb1,输出继电器q0.0或q0.1就不会有输出,即一直为off。
通过全面的两个例子我们知道同样的电路,由于继电器控制系统和plc控制系统工作方式上的差异,两者会有不同的动作结果。注意到这一点,我们在编程时,就会避免犯不应该的错误。同时学会plc这样一些特点,会编出功能更强、更好的程序。


梁经理
0951-8764961
17398417117
qq: 985263009
固原分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录