西门子CPU模块6ES7216-2AD23-0XB8工厂直销
学习plc编程回报是终身的,学习需要付出,学习就是一项投资。包括金钱和时间,常言道,一分耕耘一分收获,愿意付出吗?每个人都会有追求自身提升的意愿,相信你选择是明智的!
不可能每种都去学习,当前PLC品牌**有**过300多种。要遵循一定的规律,例如南方可能是西门子用得多,南方就各品牌的都有,这时我就要结合自己的实际情况来选择,一般来说,基础好的就学西门子,因为西门子的难度比拟大,学会西门子后再弄三菱就显得简单了;要是基础比拟差的就建议学三菱,三菱学起来会轻松些,直观易懂,但学会了三菱,再去弄西门子还有一定的难度,因为西门子比较抽象,所以大家可以结合自己的实际情况来选择,中国,三菱和西门子是较具有代表性的两种品牌,不同品牌的PLC其功能原理等都是差不多的先学会一种,再去学另一种,就会轻松容易。
从不懂PLC到入门的需做到以下几点
1需要一些准备知识,至少要有所了解,如简单的电路知识,模拟电路,数字电路,还有电器控制方面的,如电机拖动,熟悉各种控制电器的原理,对一些常见的动作有自己的想法。
2多看资料,包括书籍,以及各种视频教学,当然可以涉猎一些其他的知识,如数据结构,网络通信,汇编语言等,对学习PLC有一定的帮助。
3持之以恒的心态,不可操之过急,不可能一口吃个胖子,要日积月累,每天进步一点,时间长了,一点会有回报,切忌三天打鱼两天晒网。
plc在控制中使用很广泛,涉及的也比较广,比如:工业、医疗、餐饮、家庭等等。
作为一个技术人员,或多或少的都接触到PLC,有时候可能只是简单的接线,有的时候还需要我们自己编程。
现在就是PLC的初学阶段,感觉看编程手册较多的是知道这个指令怎么用,但是灵活运用的话还是需要更多的学习让它们融会贯通起来,就像高中学习物理一样,电学,力学,磁场较后混到了一起,哪一天任督二脉打通了似得,就得心应手许多!
感觉还得时间的积累吧,一口吃个胖子的机会太小,我正在努力,大家都一起加油吧!
编程调试尽量做好充足准备,以防后患。
但如果现场遇到编程方面的问题要从两个方面入手,别只从技术层面考虑问题。
一方面,因为遇到问题耽误工作进程了。需要找点理由,让自己公司的**和设备使用方等人不要知道是你的原因造成工作进展不下去。方法有太多,不一一列举。
另一方面,尽快从技术上解决编程的问题,可以选择给PLC厂家技术打电话,他们比较专业。如果是电话忙,恢复不及时,可以给代理商那边打电话,他们往往也有比较好的技术支持人员。另外,如百度,,之类的也行。
2个226 cpu,我想A主运行,B主监控,A出现故障,B通过PPI通讯把A设为STOP,然后代替A控制。在程序中设置隔离有点麻烦。得能控制是指设备在继电器触点接通后才能动作的控制方式,断电时设备停止;这种方式下2套PLC的输出采用常开并联方式,任意PLC信号接通设备动作
三菱plc编程口的通讯协议比较简单,只有四个命令,即:
命令 命令码 目标设备
DEVICE READ CMD "0" X,Y,M,S,T,C,D
DEVICE WRITE CMD "1" X,Y,M,S,T,C,D
FORCE ON CMD " 7" X,Y,M,S,T,C
FORCE OFF CMD "8" X,Y,M,S,T,C五个标示:
ENQ 05H 请求
ACK 06H PLC正确响应
NAK 15H PLC错误响应
STX 02H 报文开始
ETX 03H 报文结束
使用累加方式的和校验,帧格式如下:
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)
和校验:
SUM= CMD+„„+ETX。 如SUM=73H,SUM=“73”。
1、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
始命令 首地址 位数 终和校验
STX CMD GROUP ADDRESS BYTES ETX SUM PLC 返回
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM
2、DEVICE WRITE(向PLC 软设备写入值)
计算机向PLC发送:
始命令 首地址 位数 数据 终和校验
PLC 返回
ACK (06H) 接受正确
NAK (15H) 接受错误
3、位设备强制置位/复位
FORCE ON 置位
始命令 地址 终和校验
STX CMD ADDRESS ETX SUM 02h 37h address 03h sum FORCE OFF 复位
始 命令 地址 终 和校验 STX CMD ADDRESS ETX SUM 02h 38h address 03h sum PLC 返回
ACK(06H) 接受正确
NAK(15H) 接受错误
以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢?下面就是三菱Fx系列PLC地址对应表:
Public Const PLC_D_Base_AddRess = 4096 =1000H
Public Const PLC_D_Special_Base_AddRess = 3584 =E00H
Public Const PLC_Y_Group_Base_AddRess = 160 =A0H
Public Const PLC_PY_Group_Base_AddRess = 672 =2A0H
Public Const PLC_T_Group_Base_AddRess = 192 =C0H
Public Const PLC_OT_Group_Base_AddRess = 704 =2C0H
Public Const PLC_RT_Group_Base_AddRess = 1216 =4C0H
Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时) =800H
Public Const PLC_M_Group_Base_AddRess = 256 =100H
Public Const PLC_PM_Group_Base_AddRess = 768 =300H
Public Const PLC_S_Group_Base_AddRess = 0 =0H
Public Const PLC_X_Group_Base_AddRess = 128 =80H
Public Const PLC_C_Group_Base_AddRess = 448 =1C0H
Public Const PLC_OC_Group_Base_AddRess = 960 =3C0H
Public Const PLC_RC_Group_Base_AddRess = 1472 =5C0H
Public Const PLC_TV_Group_Base_AddRess = 2048 =800H
Public Const PLC_CV16_Group_Base_AddRess = 2560 =A00H
Public Const PLC_CV32_Group_Base_AddRess = 3072 =C00H
当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。所以当我们用FORCE ON 命令时,M100寄存器地址=100+2048;
这也没有什么复杂的,不是吗?可是三菱公司好像不甘于如此,FORCE ON/Off命令中地址排列与DEVICE READ/WRITE不同,是低位在前高位在后。如Y20,地址是0510H,代码中4个字节地址表示为:1005。(注意:Y寄存器为八进制,如Y20地址=16+1280=0510H) 其实一点技术含量都没有,就是拐了几个弯,偏偏很多时候又不都告诉你,让人浪费不少时间。不废话了,自己做个程序试试吧。