产品描述
西门子模块6ES7223-1PH22-0XA8型号规格
PLC与PC机联接,需要一根特制的电缆联接。自制很复杂,这里介绍一种简单方法供大家参考。
适用机型:三菱FX2 可编程控制器(25针插空)
材料: 并口25针接头1个、串行接头1个(25针、9针任意选择)、5芯电缆一根(长度根据需要)、2.2K电阻4个。
接线方法:
PLC侧 PC25 PC9
编程口 针串口 针串口 备注
2、3、4、5、8、20、21 7 5 PLC侧短路,接PC侧
15 2 3 PLC与PC之间接2.2k电阻
16 3 2 同上
17 4 7 同上
18 5 8 同上
已实验PLC型号:FX2-128MR、FX2-64MR、FX2FX2-80MR。
一 程序流程—功能00~09
00 CJ 条件转移
01 CALL 调用子程序
02 SRET 从子程序返回
03 IRET 中断返回
04 EI 开中断
05 DI 关中断
06 FEND 主程序结束
07 WDT 监视定时器
08 FOR 循环开始
09 NEXT 循环结束
二 传送和比较指令—功能10~19
10 CMP 比较
11 ZCP 区间比较
12 MOV 传送
13 SMOV 移位传送
14 CML 求补运算
15 BMOV 数据块传送
16 FMOV 多点传送
17 XCH 数据交换
18 BCD 求BCD码
19 BIN 求二进制码
三 算术和逻辑运算指令—功能20~29
20 ADD 加法
21 SUB 减法
22 MUL 乘法
23 DIV 除法
24 INC 加一
25 DEC 减一
26 WAND 字与
27 WOR 字或
28 WXOR 字异或
29 NEG 求补
四 循环与移位—功能30~39
30 ROR 循环右移
31 ROL 循环左移
32 RCR 带进位循环右移
33 RCL 带进位循环左移
34 SFTR 位右移
35 SFTL 位左移
36 WSFR 字右移
37 WSFL 字左移
38 SFWR FIFO写
39 SFRD FIFO读
五 数据处理—功能40~49
40 ZRST 区间复位
41 DECO 解码
42 ENCO 编码
43 SUM ON位总数
44 BON 检查位状态
45 MEAN 求平均值
46 ANS 标志置位
47 ANR 标志复位
48 SQR 平方根
49 FLT 整数转换成浮点数
六 高速处理—功能50~59
50 REF 刷新
51 REFF 刷新与滤波处理
52 MTR 矩阵输入
53 HSCS 高速记数器置位
54 HSCR 高速记数器复位
55 HSZ 高速记数器区间比较
速度
56 SPD 脉冲输出Speed detect
57 PLSY 脉宽调制 Pulse Y
58 PWM 脉冲调制Pulse width
modulation
59 PLSR 带加减速脉冲输出
七 方便指令—功能60~69
60 IST 状态初始化
61 SER 寻找
62 ABSD **值凸轮顺控
63 INCD 增量凸轮顺控
64 TTMR 示教定时器
65 STMR **定时器—可定义
66 ALT 交替输出
67 RAMP 斜坡输出
68 ROTC 旋转台控制
69 SORT 排序
八 外部I/O设备—功能70~79
70 TKY 十键输入
71 HKY 十六键输入
72 DSW 拨码开关输入
73 SEGD 七段码译码
74 SEGL 带锁存的七段码显示
75 ARWS 方向开关
76 ASC ASCII变换
77 PR 打印
78 FROM 读特殊功能模块
79 TO 写特殊功能模块
一下PLC编程学习技巧。
一、想学习东西必须要付出代价的,要舍得花钱买本书来看,如果为了省钱看电子书,浪费的时间****过书的价值。当然如果查资料,只能看PDF。
二、 请仔细看,把内容都看懂,看不懂的书,请硬着头皮看。别指望看**遍书就能记住和掌握什么——请看*二遍、*三遍。
三、编程需要坚强的毅力和足够的耐心 。不要把编程看作一项冗长而枯燥的工作,可以把编程想象成一种自己喜欢玩的智力游戏。如果你只是不要把编程看作一项冗长而枯燥的工作,强烈建议你不要做这份工作了。毕竟编程工作是对人的毅力和耐心的挑战。
其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了较大的满足,如同打通了一个游戏的关口。所以得出,看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。
四、的相关知识。 PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。就好比如做销售那样,首先你要对产品熟悉了解才会用我所掌握知识分析给顾客。学习PLC编程也一样,平时多买点相关书籍来看充实一下自己对PLC的知识。当我我们在做编程中有意无意就用到了。
五、养成良好的编程习惯,通常每个人编程都会有不同的习惯和爱好,这并不要求一致的。但是一些好的习惯还是应该为大多数人所遵守的。其一,合理分配寄存器,编制寄存器符号表;其二理顺逻辑关系、时序关系,编制程序框图;其三合理分配主程序、子程序和中断程序。
编程设备服务处理的高速化。
当扫描时间为数十毫秒时,几毫秒的编程工具和监控设备的服务处理时间不会带来什么问题。但是在执行1毫秒以下的控制任务时,就有必要大大缩短这个时间。所采用的方法是以多CPU芯片并行处理的方式,由专门处理编程及监控服务的微处理器芯片执行这类处理,以减轻对执行控制程序的CPU芯片的影响,让它只管执行顺控和逻辑运算。此外,为了提高服务处理的效率,缩短在现场读写程序的时间,以缩短操作时间,采用了高速的串行通信(较大的波特率为115.2Kbps)以及将UCB口(较大波特率达12Mbps)引入PLC的CPU模块,从而实现与编程工具及监控设备之间通信的高速化,并允许同时使用这两个通信端口,由多人同时进行编程和调试
1、根据工程实际需求,进行功能块规划,编写子程序
在PLC中 ,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,程序的扫描就仅在主程序中进行,不再去扫描这段子程序,这样就减少了不必要的扫描时间。
2、用字或双字数据传送给DO点方法来控制输出
在PLC的应用中通常都会有大量的输出控制,用字或双字数据传送给DO点方法来控制输出可以提高速度,只要根据实际应用的要求,合理分配输出,变换控制输出控制字,可以大大减少PLC程序执行的步数,从而加快PLC的程序运行速度。
3、脉冲触发SET、RESET
PLC中,使用SET指令只执行一次即可,不必每次扫描都执行这个指令,很适合与脉冲输出(PLS/PLF)指令配合使用。有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间。
4、避免了类型转换
以S7-200为例,它的内存格式与我们常用的 PC 机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。
如我们定义符号时将字变量定义在 VW2,同时保持 VW0 的值为零。则程序中可以用 VW2 以字型访问该变量,同时也可以 VD0 以双字型访问,避免了类型转换。
为了避免使用时混淆,较好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:
b——字节型变量(byte)
w——字型变量(word)
d——双字变量(double)
r——实型变量(real)
f——位变量(flag)
btn——自复位按钮式输入(button)
sw——切换开关或自锁按钮输入(switch)
sig——传感器、编码等电平信号输入(**)
rly——输出继电器位(relay)
……
当然,这个根据个人习惯来,没有定则,主要是利于自己区分。
如有一个字类型变量名为 VarName,为使用的转换技巧,我们可以这样定义:
wVarName——VW2
dVarName——VD0
在程序初始化时将 VW0 清零(如果是不需要记忆的变量,直接将 dVarName 清零也可)或者在数据块中将 VW0 设置为零。则以后需要以字类型访问变量时就用 wVarName,需要以双字类型访问变量时就用 dVarName。完全不需要类型转换。
本方法可以较大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
缺点是要多占用两字节的内存,以后程序中不能使用 VW0。但 S7-200 的 RAM 空间很大,一般是用不完的,以 226 为例,有多达 10K 的 RAM,偶从来没有**过 1K。 这些 RAM 都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换
产品推荐