加工定制:否 | 品牌:Siemens/西门子 | 型号:6XV1830-0EH10 |
线芯材质:裸铜线 | 芯数:2 | 护套材质:硅橡胶 |
电线最大外径:2mm | 用途:1 | 产品认证:UL |
物料编号:1 |
{西门子与客户携手,让关键所在,逐一实现}
德国制造 现货 联 系 人: 黄勇《黄工》 24小时联系手机: 13701633515
全新原装 参数
质量*** 保修 直线销售 电 话: 021-31660605 在 线 商 务 QQ: 77956468
价格优势 ***
我公司大量现货供应,价格优势,品质***,德国***
西门子S7-300/400的PLC仿真软件PLCSIM对通信功能的仿真能力较差,只能对S7通信仿真。仿真软件可以模拟某些硬件故障和网络故障,是学习网络故障诊断的好工具。用西门子PLC仿真软件PLCSIM学习DP从站故障诊断的方法
用西门子PLC仿真软件模拟DP从站故障的步骤如下:
1)在硬件组态中生成DP主站、DP网络和DP从站。
2)保存和编译硬件组态后,将系统数据下载到仿真PLC。将仿真CPU切换到RUN-P模式。
3)执行PLCSIM的菜单命令“执行”→“触发错误OB”→“机架故障 (OB86)”,打开“机架故障OB(86)”对话框。在“DP故障”选项卡,已组态的从站为绿色。
4)点击某个从站对应的小方框,方框内出现“X”。用单选框选中“站故障”,单击“应用”按钮。选中的从站对应的小方框中的“X”消失,小方框变为红色,表示该站出现故障。CPU视图对象上的红色SF(系统故障)LED亮,DP(总线故障)LED闪烁。
5)执行SIMATIC管理器的菜单命令“PLC”→“诊断/设置”→“硬件诊断”,打开“硬件诊断 - 快速查看”对话框(见下图),可以看到1号网络3号从站有故障。
6)双击CPU,打开CPU的模块信息对话框。在“诊断缓冲区”选项卡的“事件”列表中的事件“分布式I/O:站故障”表示3号从站出现故障。
选中该事件,在“关于事件的详细资料”窗口,可以看到要求调用OB86,外部错误,进入的事件(事件产生)。
7)双击上图中的DP从站,打开从站的模块信息对话框,可以看到从站的有关信息。
答:临时存储区,即L存储区,只在子程序内有效,不能用于在子程序间传递数据。200系列PLC大概范围是0~63Byte可用。对于有些型号的PLC子程序中只能使用0~59Byte,***4个字节保留。
其他的存储区如M,V,C等可用在子程序间传递数据。
以上这些存储区都是有数量限制的,都有自身的使用特点,当然,不同的PLC范围大小是不一样的。所以,合理分配地址,是编写一个好程序的不可或缺的环节。
不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。
2不需要做初始化
3 局部变量解释:
L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是***个字节的第五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义.
4. 全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。
5 使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据更快。
“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用
在S7-300CPU中,每一个优先级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的数量为256B(字节),组织块OB自己占去20B或22B,还剩下最多234B可分配给FC或FB。如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The?block?could?not?be?copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect?local?data?length(不正确的局部数据长度)。
在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单Object?Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local?Data(局部数据))。
在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference?Data(参考数据)/Display(显示),然后选择Program?Structure(程序结构),即可在参考表中查看局部数据的占用情况。
A #glass_id_auto //手动=1
// A "横向打开到位"
// A "纵向打开到位1"
// A "纵向打开到位2"
// A "玻璃到位检测(顶柱)"
JC nt31
NOP 0
O "cnt_read_ok" //编码器数据稳定,可以开始检测
// O "T 允许玻璃识别延时"
// O "M 3工位自动涂胶准备好"
A "对工工位支撑柱玻璃在位"
JCN nt6
SET
R #start_timer
L 0
T #loop_cnt
nxt3: NOP 0
OPN DB [#ProductDBTmp]
L #loop_cnt
L 34
*I
SLW 3
LAR1
L DBD [AR1,P#20.0]
L DBW [AR1,P#28.0]
+D
T #cnt2_cmp_up
L DBD [AR1,P#20.0]
L DBW [AR1,P#28.0]
-D
T #cnt2_cmp_down
L DBD [AR1,P#24.0]
L DBW [AR1,P#28.0]
+D
T #cnt1_cmp_up
L DBD [AR1,P#24.0]
L DBW [AR1,P#28.0]
-D
T #cnt1_cmp_down
A(
L #cntv2_act
// L "TP_cntv2_save"
L #cnt2_cmp_down
>=D
)
A(
L #cntv2_act
// L "TP_cntv2_save"
L #cnt2_cmp_up
<=D
)
A(
L #cntv1_act
// L "TP_cntv1_save"
L #cnt1_cmp_down
>=D
)
A(
L #cntv1_act
// L "TP_cntv1_save"
L #cnt1_cmp_up
<=D
)
JCN nt30
L #loop_cnt
L 1
+I
OPN DB [#AssignDBTmp]
T DBB 13
L DB32.DBB 13
T #glass_type
JU nt3
nt30: L #loop_cnt
L 1
+I
T #loop_cnt
L 16
JC nxt3
L 0
T #glass_type
T DBB 13
S "对中工位玻璃判别失败"
R "对中工位玻璃判别完成"
JU nt6
//由于和客户沟通后决定,不需要做在自动情况下的自动取消涂胶工艺,故取消下列功能
// OPN DB [#AssignDBTmp]
// A DBX 8.2 //取消涂胶?
// JCN n301 //否
// L 100 //是,将取消涂胶编号100发给机器人,任务100为空操作,只
// T #glass_type
// T DBB 13
//n301: NOP 0 //强制涂胶,等待转换到涂胶手动选择