西门子电机6SL3120-1TE21-8AD0技术参数
特殊模块报警/报警码(D0)AD003故障指示灯电亮,有时鼓掌指示灯不亮,断电后重器正常。连续2天平均每天2次,后来出现I/O总线错误报警码C1或C2 ;C3 重起后正常
处理:开始判定为AD003有问题;对其在断电后,进行重新插拔,没有效果。于是更换新的模块;更换后效果并不明显,于是对其更改单元号重新编程,故障依旧并且次数更加频繁。
经判断可能是在通信中出现错误;于是对电缆进行检查,并重新布线,检查中发现CPU I/O母板的插座中有1根插针缩进去了1段。于是更换了CPU 母板。系统正常工作了3天后,依旧出现故障。
终于出现了CX-P不能与系统连接的故障。在拔下编程电缆。又拔编程器时系统停机,外设断口打火,CPU损坏
检查发现外设端口由于频繁插拔,有插针相连,编程器插头插针见的塑料已经磨断1块重新更换CPU 鼓掌
此次故障由1根插针引起,前后花费近万元
在此次故障处理中,查阅了数本书籍,并对程序重新编程,提高了自己的知识水平.同时也提示我们在处理故障时1定要心细,一故障现象背后,可能隐藏的是其他的故障,1**要由现象表面扩大我们的思维范围延伸到所有的关联地方,才能正确的处理好故障 一、前言:
美国MDS公司(Microwave Data System Inc.)原隶属于美国安达普宽带通信公司ADAPTIVE BROADBAND旗下的美国加利福尼亚微波公司,位于美国纽约州的罗彻斯特。自2000年7月18日起,美国MDS公司成为一家独立运作的上市公司。MDS公司是具有世界良好水平的无线系统设备供应商,是**点对多点无线电数据遥测技术应用和低强度点对点无线话音及的**供应商,是一个通过ISO-9001认证的公司。
MDS是具有世界良好水平的无线数据供应商,目前已在世界各地安装了500,000套电台,成为遥测、遥信、遥控及高速数传较大生产厂商。MDS系列电台创立了高性能的遥测通信标准。
MDS公司是无线数据采集应用的世界良好者,MDS为用户的实时准确的控制、监测和数据提供了无缝的、高速实时而又的解决方案。它通过的配置为用户节约成本。系统包括需申请频率的窄带到无须申请**频点的跳频扩频电台全系列。
二、下面着重介绍MDS2710A电台和欧姆龙CQM1H-CPU51的PLC的连接方法。
1、设备准备:PC一台、欧姆龙CQM1H-CPU51两部、MDS2710A2台、 9芯至9芯数据线两条,9芯至25芯数据线两条。
2、连接方法:
有线连接:PC和主PLC通过9芯到9芯直连线进行联接,具体接线为TX—TX,RX—RX,GND(5)--GND(9),并将接PC的9芯线的7、8短接,接主PLC的4、5短接。两台PLC通过9芯交叉电缆进行连接。具体连接为:RX—TX,TX—RX,GND(9)--GND(9),并将4、5针短接。
加电台的连接方法:PC和主PLC通过9芯到9芯直连线进行联接,具体接线为TX—TX,RX—RX,GND(5)--GND(9),并将接PC的9芯线的7、8短接,接主PLC的4、5短接。主PLC和主电台进行交叉线(9—25芯数据线)连接,具体为:RX—TX,TX—RX,GND(9)--GND(7),并将接主PLC端的9芯线的4、5短接。电台和从PLC的连接线和主PLC和电台的连接线相同。
3、调试方法:
(1) 有线连接通信:PC和PLC通过有线方式进行通信,设置主、从PLC的参数,进行数据通信。在确定保通信正常的情况下,将PLC之间的连接电缆去掉,接换上两个电台。
(2) 设备两个电台的参数,电台的数据格式要和PLC的数据格式一致,如果PLC选用9600/7E2,电台也应设置为9600/7E2。然后连接电台到PLC,主、从PLC通过电台建立了通信。
(3) 电台与PLC匹配的参数:
Baud Rate 为9600
Data bbbbat为7E2或8N1
DataKey Mode is on
Cont. Mode is off
Buffer Mode is off
经测试,MDS 2710A电台和欧姆龙CQM1H-CPU51的PLC连接通信正常,可以正常进行数据的上载、下载及远程通信。
4、应注意的问题:
1)、电台和PLC的数据模式设置要一致,如PLC设置为96007E2,电台必须设为9600 7E2
2)、连接好电台、天线,确保电台设置正常
3)、确保电台的接收信号强度(RSSI)在-60 到 -100dBm之间(用设置软件可测出)P 控制:输出与偏差成比例的操作量。但只靠P 控制不能使偏差为零。
I 控制:输出对偏差进行积分的操作量。在使反馈值与目标值一致时有效。但无法适应急剧的变化。
D 控制:输出对偏差进行微分的操作量。可对急剧的变化尽快作出响应。
在nA.02( 比例增益) 中设定“0.0”时, PID 控制不动作。(不仅是P 控制,整个PID 控制全都无效);在nA.03( 积分时间) 中设定“0.0”时, I 控制不动作;在nA.04( 微分时间) 中设定“0.00”时, D 控制不动作。
当供水系统压力波动较大出现**调时,减小PID的比例值;反之动态响应较慢则增加该值。
4)反馈值调整用增益
为了使器发出的反馈信号符合PID 控制的目标值和电平,使用该项功能。
基本上根据确认的电压值(电流值),用下式进行计算。
增益设定值=10V/ 反馈信号电压值(或=20mA/ 反馈信号电流值)
5)PID 控制休眠功能(nA.14 ~ nA.16)
PID 控制过程中变频器的输出低于一定频率时,可使PID 控制休眠。
PID 控制休眠:输出频率低于nA.15 的值并且**过nA.14 的检测时间持续一段时间后,转移到休眠状态。
PID 控制休眠后重新起动:PID 计算结果的频率指令**过nA.16 的值时,从0Hz 开始重新起动。
请务必设定为nA.15< nA.16,尽量空开频率的间隔。否则切换到PID 控制休眠的次数会过于频繁。
启动后,当用水量增加管网压力小于设定压力时,由压力变送器反馈的压力信号通过变频器内置PID处理后,使变频器输出频率增大,电机转速升高;当用水量减少管网压力大于设定压力时,由压力变送器反馈的压力信号通过变频器内置PID处理后,使变频器输出频率减小,电机转速降低;随着反馈压力的变化,变频器输出频率随之变化以维持管网压力稳定,实现一个闭环控制系统。
bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16进制字符串所表示的处理意义参下表:
0:不改变位状态
2:复位
3:置位
4:强制复位
5:强制置位
8:取消强制置位/复位
Order:强制置位复位各区命令字符见下表:
命令代码 复位区域
"CIO" IR/SR
"LR" LR
"HR" HR
"AR" AR
返回值:长整型,操作成功返回1,否则返回0;
使用举例:
ComFRSset(1,0,0,'0235482530280235','CIO'),DLL将给(IR)0000按下表动作:
0.15 0 不改变位状态
0.14 2 复位
0.13 3 置位
0.12 5 强制置位
0.11 4 强制复位
0.10 8 取消强制置位/复位
0.09 2 复位
0.08 5 强制置位
0.07 3 置位
0.06 0 不改变位状态
0.05 2 复位
0.04 8 取消强制置位/复位
0.03 0 不改变位状态
0.02 2 复位
0.01 3 置位
0.00 5 强制置位
12、取消所有被强制置位、复位、及多位强制置复位的强制状态
Function ComFCancel(nport,node:longint):Longint;stdcall;
参数:
nport: 串口号,取值为1~8, 代表COM1~COM8;
node: PLC站号或节点号(单元号),取值为0~31;
返回值:长整型,操作成功返回1,否则返回0;
使用举例:
ComFCancel(1,0),取消PLC中所有被强制置位、复位的单元
注:使用强制命令后PLC程序、写入命令都无法改变被强制的位的状态值,因此在实际工控应用中
建议用写入命令或多线圈强制置位复位命令ComFRSset中的字符串处理码的2:复位、3:置位来操作
置位复位。如果一定要用强制命令,那么在记得使用后用取消强制命令来恢复管理。
由此可以推出下面的置位与复位函数,注意采用置位与复位函数,置位或复位的结果将受PLC程序
输出的影响,推崇置/复位用在输入条件中。
13、PLC的线圈置位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR)
Function ComSet(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: PLC站号或节点号(单元号),取值为0~31;
address: 寄存器地址,取值请参欧姆龙PLC手册,
Bit: 置位字地址的位地址,取值0~15,TIM、TIMH、TIML、TMHH、CNT、CNTR置位时的取值总是0
。
Order:置位各区命令字符见下表:
命令代码 置位区域
"CIO" IR/SR
"LR" LR
"HR" HR
"AR" AR
"TIM" 定时器完成标志
"TIMH" 高速定时器完成标志
"TIML" 长定时器完成标志
"TMHH" 特高速定时器完成标志
"CNT" 计数器完成标志
"CNTR" 可逆定时器完成标志
返回值:长整型,操作成功返回1,否则返回0;
使用举例:
ComSet(1,0,0,0,'CIO'),置位(IR)0.00;
ComSet(1,0,0,0,'TIM'),置位(T)0000。
14、PLC的线圈复位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR)
Function ComReset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: PLC站号或节点号(单元号),取值为0~31;
address: 寄存器地址,取值请参欧姆龙PLC手册;
Bit: 复位字地址的位地址,取值0~15;TIM、TIMH、TIML、TMHH、CNT、CNTR复位时的取值总是0
。
Order:复位各区命令字符见下表:
命令代码 复位区域
"CIO" IR/SR
"LR" LR
"HR" HR
"AR" AR
"TIM" 定时器完成标志
"TIMH" 高速定时器完成标志
"TIML" 长定时器完成标志
"TMHH" 特高速定时器完成标志
"CNT" 计数器完成标志
"CNTR" 可逆定时器完成标志
返回值:长整型,操作成功返回1,否则返回0;
使用举例:
ComReset(1,0,0,0,'CIO'),复位(IR)0.00;
ComReset(1,0,0,0,'TIM'),复位(T)0000。
在本DLL中去除了一些特权操作指令接一些不太容易在现场应用中使用的指令(如果有朋友
认为指令怎么不全而你正好需要的话请注册时与我提出我会将你需要的指令加入。)
三、DLL附加函数说明
1、串口打开状态的读取
Function ComTrue(nport:longint):longint;stdcall;
参数:
noprt: 串口号,取值为1~8,代表COM1~COM8;
返回值:长整型,串口打开返回1,否则返回0;
2、整数转换成16进制字符串 (为VC等非RAD开发环境所增设)
Function CIntToHex(Cint,Digits:Longint):Pchar;stdcall;
参数:
Cint: 待转换整数,取值为(0~65535);
Digits: 转换的字符串位数,*位数小于实际位数时按实际输出;
使用举例:
CIntToHex(200,2),则返回字符串“C8@”;
CIntToHex(200,4),则返回字符串“00C8@”;
CIntToHex(4500,4),则返回字符串“1194@”;
CIntToHex(4500,3),则返回字符串“1194@”,因为“194”不足以表示4500这个数所以按实际输
出字符串“1194@”;
"@"为字符串数据的终止符。
3、16进制字符串转换成整数 (为VC等非RAD开发环境所增设)
Function CHexToInt(CHex:Pchar):Longint;stdcall;
参数:
CHex: 待转换字符串,取值为(0000~FFFF);
使用举例:
CHexToInt(‘03E8’),则返回整数1000;
4、抽取16进制字符串中某个位的值
Function CinBin(CHex:Pchar;Start:longint):longint;stdcall;
参数:
CHex: 待转换字符串,取值为(0000~FFFF);
Start: 抽取的位,取值为(0~15);
使用举例:
CinBin(‘0F’,3),则返回值1;
CinBin(‘0F’,4),则返回值0;
CinBin(‘03E8’,6),则返回值1;
读取M8~M15组合成的字节值为“FC”时,要读取M10的值时,则调用CinBin(‘FC’,3)返回值1表
示M10的值为1。
5、返回字符串Text左边的Count个字符 (为VC等非RAD开发环境所增设)
Function CLeftStr(Text:Pchar;Count:longint):Pchar;stdcall;
参数:
Text: 字符串原型;
Count: *返回左侧字符串个数;
使用举例:
CleftStr('123456', 3) = '123@';
"@"为字符串数据的终止符。
6、返回字符串Text右边的Count个字符 (为VC等非RAD开发环境所增设)
Function CRightStr(Text:Pchar;Count:longint):Pchar;stdcall;
参数:
Text: 字符串原型;
Count: *返回右侧字符串个数
使用举例:
CRightStr('123456', 3) = '456@';
"@"为字符串数据的终止符。
7、返回字符串Text从Start开始的Count个字符 (为VC等非RAD开发环境所增设)
Function CMidStr(Text:Pchar;Start,Count:longint):Pchar;stdcall;
参数:
Text: 字符串原型;
Start: *返回字符串的起始位置;
Count: *返回字符串个数;
使用举例:
CMidStr('123456',2,3) = '234@';
"@"为字符串数据的终止符。
8、字符串Substr开始于字符串S的位置 (为VC等非RAD开发环境所增设)
Function CinStr(S,Substr:Pchar):Longint;stdcall;
参数:
S: 字符串原型;
Substr: 查询的字符串;
返回值:长整型;
使用举例:
CinStr('1Tfdg23456','2') = 6
DLL中关于传出字符串值的函数都以"@"为字符串函数值终止符。
四、Delphi、VB、VC语言环境的开发使用说明
1、Delphi语言环境开发说明
在Delphi环境下将omron.dll、omron.slip(文件)复制到应用程序目录下(即将上述文件与编
译后的可执行文件方入同一文件夹内);