SIEMENS浔之漫智控技术有限公司西门子CPU模块6ES7211-0AA23-0XB0质保一年
编程能力要靠多练习才行,如同多做题一样。项目实战或自己找些例子实际编写调试进行练习。比如我在初学PLC时做过的例子就有:跑马灯(较简单,但是实现方法有很多种,多动脑子看你能实现几种)、红绿灯控制(红黄绿灯的循环定时控制)、电梯控制(多层电梯的**响应)、恒压供水(闭环PID+根据水泵运行时间**启动)等等。勤加练习,多动脑子,进步很快的。
当然,较好的方法就是通过实战来训练较快了,不过你首先得具备一定的基础,要不也没用,一般的自动化公司会侧重于某一,首先得了解大概的工艺,使用的设备,相应的电气配套等等,较好参照前辈的实例先学习,如果有人带那当然是较好了,要不总归要绕绕弯的,建议可以先从一些小的项目去学习,比如一台单机设备,这样涉及的知识面不会太广,然后再一步一步去深入,师傅引进门,修行在个人把PLC程序规范为以下几个组成部分:
一、系统初始化,
二、过程或状态的描述(相当于继电、接触控制中的中间继电器),
三、人机操作控制(手动操作,参数修改等),
四、设备控制输出(电机、阀等),
五、通信(各控制设备间的互锁和数据交换),
六、过程或状态的故障描述,
七、报警输出和故障位置等信息显示,
八、生产过程报表(产、质量等)。
下面主要谈谈过程或状态的描述和设备控制输出,因为这基本上是程序的主要部分。
程序好坏的标准:稳定、易调试、易修改、易扩展、易读、实时性(快)。在这么多年的实践中,我感到先由过程或状态的描述得到各种状态变量,再对设备输出进行编程能比较好的达到上述目标,可能它在快的方面有所欠缺(因为程序长一些)但这完全可以从其它方面得到解决(例如中断)。这种想法主要源自数学上的状态方程:Q=f(S1,S2,S3……..,Sn)其中Q为设备输出,S1、S2、S3…….Sn为状态变量(包括输入输出)。f是由指令系统组成的算法。一般地,在一个系统中状态变量是确定不变的(这取决于你的状态描述),就象组成世界的元素是是基本不变一样,所以只要改变算法就可以得到不同的控制输出,因此扩展和修改都非常方便。在调试和排除故障时,根据状态进程,可以很快找到故障原因。因为控制输出一般都是几种状态的函数(算法),它们是有冗余关系的,因此稳定可靠性、抗干扰性得到大大增强。
弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。
但是,编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。较不用说,任何理论也都只是经验的总结,归根到底也都有是来自实践。
1、 经验积累
经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。
别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。
还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。
自己的经验则是较重要的。要在自己的实践中,积累自己的经验。同时,较好在学别人的经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。
还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。
经验的积累要用自己的脑记,较要用电脑记。较好作些分类,建立一个自用的程序库,以便于随时引用。
2、 经验升华
经验还有待升华。升华有三个层次:
较低的层次就是建立一个典型的程序库,供今后再用。若程序复杂,还可建一些功能块,或子程序,以便以后引用。
其次,要总结出有效算法。如单按钮起停程序库等。(//www. 版权所有)
较高层次的升华是把经验上升到理论的高度,为丰富PLC程序设计理论作贡献。我想,随着PLC使用的普及与提高,是会有越来越多从经验中升华出来的,而又能用以指导实践的PLC编程理论的。
3、 经验应用
经验积累、经验升华都是为了应用。经验应用有三方面:
1) 用作工程设计模板。设计新系统时,选用一个或几个与现设计工程类似的,已**成功的工程,作样板进行设计。这既可减轻设计的工作量,又增加设计的成功率。这也是信息可重用的一大好处。
2) 用作程序设计参考。在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计的工作量,增加设计的成功率。
3) 用作算法设计参考。在既无样板可参照,又无典型可采用时,还可运用过去的一些成功的算法。
经验是宝贵的,但是经验特别是个人经验,总是有限的。所以,经验的应用也还要与编程理论相结合
FX系列PLC**协议通信指令一览
以下将详细列出PLC**协议通信的指令:
指令 注释
BR 以1点为单位,读出位元件的状态
WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值
BW 以1点为单位,写入位元件的状态
WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件
BT 以1点为单位,SET/RESET 位元件
WT 以16点为单位,SET/RESET 位元件,或写入值到字元件
RR 控制PLC运行RUN
RS 控制PLC停止STOP
PC 读出PLC设备类型
TT 连接测试注:位元件包括X,Y,M,S以及T,C的线圈等;
字元件包括D,T,C,KnX,KnY,KnM等。1、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
始 命令 首地址 位数 终 和校验
STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据
02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h
地址算法:address=address*2+1000h
再转换成ASCII
31h,30h,46h,36h
PLC返回
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM
注:较多可以读取64个字节的数据
例子:从*的存储器单元读到3584这个数据
02h 33h 35h 38h 34h 03h 44h,36h
2、DEVICE WRITE(向PLC软设备写入值)
始 命令 首地址 位数 数据 终 和校验
STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM例子:向D123开始的两个存储器中写入1234,ABCD
02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h
PLC返回
ACK (06H) 接受正确
NAK (15H) 接受错误
3、位设备强制置位/复位
FORCE ON置位
始 命令 地址 终 和校验
STX CMD ADDRESS ETX SUM
02h 37h address 03h sumFORCE OFF复位
始 命令 地址 终 和校验
STX CMD ADDRESS ETX SUM
02h 38h address 03h sum
三菱PLC上传程序时出现通讯错误的原因
1、三菱PLC编程电缆的通讯端口及波特率是否设置正确。如:点串口图标->端口RS232->波特率9.6k/bps->确定->再点通讯测试,如果显示通讯成功则硬件连接没问题。
2、三菱PLC中是否有写入程序,或说PLC是否正常工作过。
3、程序是否加密,也有程序丢失的情况,但很少。
4、三菱PLC有否损坏。
三菱PLC编程电缆的通讯端口的设置方法
1、将编程电缆线插入电脑的USB接口
2、在桌面上,将鼠标放在“我的电脑”图标上,然后点击鼠标右键
3、在弹出的菜单中,选择“设备管理器”
4、在“端口”一览中找到 你的编程电缆线端口号。鼠标放在端口号上,点击鼠标右键,在弹出的菜单中,选择“属性”
5、在属性窗口中,可以修改端口号,将端口号修改为相同的数字就可以了。电脑的端口和三菱PLC编程软件的端口都要设置,一般情况下,台式电脑默认的是COM1,软件也成COM1后重启软件就可以了,USB口的经常是设置一致之后拔了重接,并且重启软件,不过有的时候是通讯线的问题,换根试试,较多的时候我买了三根才碰上一根能用的。再不行就可能是通讯口坏了,原来遇见过几次,热插拔导致的,不过坏了之后手编还能用










