气体释放警报器指示灯需要i/o模块吗

请问这些扩展模块所需的24v电源需要外接呢,还是CPU通过I/O总线直接提供呢?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
请问这些扩展模块所需的24v电源需要外接呢,还是CPU通过I/O总线直接提供呢?
模拟扩展模块所消耗的电流+5VDC+24VDCEM2314Inputs20mA60mAEM2322Outputs20mA70mAEM2354Inputs/1Output30mA60mACP243-155mA60mACP243-1IT55mA60mACP243-mAEM231TC,4Inputs87mA60mAEM231RTD,4Inputs87mA60mA
我有更好的答案
一个CPU模块最多能带多少扩展模块;O总线电压,不能扩展,24V电源自已可外接5V是I&#47
每个CPU都有一个24VDC传感器电源,它为本机输入点和扩展模块输入点及扩展模块继电器线圈提供24VDC。如果电源要求超出了CPU模块的电源定额,你可以增加一个外部24VDC电源来提供给扩展模块。CPU222:180mACPU224:280mACPU226:400mA如果电源要求没有超出了CPU模块的电源定额,就不用增加一个外部24VDC电源来提供给扩展模块。
为您推荐:
其他类似问题
24v电源的相关知识
等待您来回答   具体的软件有Step7,Step7 MicroWin,Simatic Net,WinCC,Protool,Flexible,PCS7。
74:当试图通过TeleService建立PRODAVE MPI和样列程序之间的通讯时,为什么会出现出错消息4501?
调制解调器没有响应,并产生了出错消息4501。在这个情况下,工作站的规范不正确。在TeleService对话框中检查工作站的名称和工作站(standort)规范。此处可能有个不正确的缺省设删除“station”(“standort”)域中的缺省名,或输入正确的工作站名。那么就可以使用调制解调器在PRODAVE MPIY和TeleService之间建立连接。
75:是否可以将数据块的当前值作为初始值从AS传送到项目中?
可以。从AS中“ONLINE,打开相关数据块(DB).使用软盘图标“OFFLINE”保存DB.
   通过“File > Generate Source”在DB中产生STL源代码. 通过手动操作将BEGIN和END_DATA_BLOCK行之间的当前值与相应的声明(初始值)逐行连接起来,从而得到下列声明语句:
wordVar : WORD := W#16#ABCD;
END_STRUCT ;
编译STL源代码。
76:在通讯任务中,在哪些OB中必须调用SFB?
在启动型OB(如用于S7-300的OB100和用于S7-400的OB100和OB101)和循环模式OB(OB1)中,必须调用数据通讯或程序管理(把PLC切换到STOP或RUN)所需的所有SFB。OB100是启动型OB,并在重新启动CPU时运行。例如,在该OB中,用标记M1.0和M0.1来释放第一个通讯触发器。
77:怎样编程间接访问一个ARRAY类型变量的元素?
一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).
   声明部分:
   在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。
   网络:
   域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:地址(指数):b = 元素长度*(指数 - 1)
   创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。
   保存ARRAY数据类型
   示例:ARRAY [1..2,1..3] OF 整数将生成下列域:
   多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2],整数 [1,3]后面是整数[2,1]。
78:STEP 7 以哪种格式存储POINTER参数类型?
STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。POINTER参数类型保存了下列信息:DB号(如果DB中没有保存任何数据时为0)。CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。
   数据的地址(按照Byte.Bit格式)。
如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。
79:因为总是要首次调用Alarm8P(SFB35)块,怎样避免OB 1初始化过程花费太长时间?
激活(首次调用)报警块Alarm(SFB33)、A larm_8(SFB34)和Alarm_8P(SFB35)比简单地执行作业检查需要多花费 2 到 3 倍的运行时间。当传送告警时,块的运行时间也会同样长。然而警报通常不会成群发生,当编程时,需要注意警报块的首次调用,因为此处用到的所有块需要很长的运行时间,因此被调用OB的运行时间在某些情况下将显著增加。将警报块的首次调用移动到OB 100/101/102,可以将较长的运行时间转换到启动过程。此处处理时间也会较长,但是由于与模块的参数设置同时进行,启动时间不会太长。
80:当不能卸载STEP 7时,该怎么办?
设法通过控制面板卸载STEP 7。如果安装文件已损坏,卸载程序常会出错,并伴随出错信息。另外STEP 7 CD包含文件Simatic STEP7.msi。可以通过这个文件卸载STEP 7。81:加密的300PLC MMC处理方法
如果您忘记了您在S7-300CPU Protection属性中所设定的密码,那么您只能够采用siemens的编程器PG(6ES-0XA0)上的读卡槽或采用带USB接口的读卡器(USB deleteàS7 Memory Cardàprommer 6ES-0XA0),选择SIMATIC Manager界面下的菜单 File 选项删除MMC卡上原有的内容,这样MMC就可以作为一个未加密的空卡使用了,但无法对MMC卡进行jie密,读取MMC卡中的程序或数据。
82:以314C为例计数时如何清计数器值?
有两种方法:
1:在参数设置中“Gate function”选“Cancel count”软件门为0,在为1时,值将清零,
2:利用写“Job”的方式,写计数值的任务号为1。
83:CP342-5能否用于PROFIBUS FMS协议通讯?
CP342-5支持PROFIBUS DP协议,不能用于PROFIBUS FMS协议通讯,同样CP343-5只支持PROFIBUS FMS协议,不能用于PROFIBUS DP协议通讯,而CP342-5和CP343-5都支持PROFIBUS FDL的链接方式;
84:为什么CP342-5 FO无法建立通讯?如何配置?
CP342-5 FO不支持3MB,6MB的通讯速率,如果您购买的是5.1版本的CP342-5,而STEP7中没有V5.1版的CP342-5时,则可以插入一个V5.0版的CP342-5模块,功能不受影响。CP342-5在S7-300系统中的安装位置与普通的S7-300 I/O模块一样,可以插在4至11这8个槽位中的任何一个。
85:CP342-5的3中工作方式有什么区别?
No DP方式下:可以用CP342-5通讯口进行S7编程或进行PROFIBUS的FDL连接,连接人机界面;
DP Master方式下:CP342-5除了作为网络中的PROFIBUS主站之外,也可用于S7编程、FDL连接和连接人机界面。DP delay time参数一般不需设定,除非您采用FDL连接时,要与DP的I、O点刷新时间相一致,才根据PROFIBUS网络性能进行调整;
DP Slave方式下:CP342-5除了作为网络中的从站之外,如果选择了The module is an active node on the PROFIBUS subnet选择框,那么CP 342-5也可用于S7编程、FDL连接和连接人机界面,否则CP342-5只能作为从站使用;
86:CP342-5 最多能完成多少数据交换?
一套S7-300系统中最多可以同时使用4块CP342-5模块,每块CP342-5能够支持16个S7 Connection,16个S5-Compatible Connection。当CP342-5处在No DP模式下工作时,最多同时支持32个通讯链接,而处在DP Slave或DP Master模式下时,最多同时支持28个通讯链接。CP342-5 作为PROFIBUS DP主站时,最多链接124个从站,和每个从站最多可以交换244个输入字节(Input)和244个输出字节(Output),与所有从站总共最多交换2160个输入字节和2160个输出字节。CP342-5 作为从站时,与主站最多能够交换240个输入字节和240个输出字节。CP342-5 可以最多连接16个操作面板(OP)以及最多创建16个S7 Connnection。
87:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?
需要在您的STEP7项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:
   在S7-300中加入OB82、OB86、OB122;在S7-400中加入OB82~OB87、OB122;
88:CP342-5连接上位机软件或操作面板时应该选择什么工作模式?
如果您只是用CP342-5连接上位机软件或操作面板(OP),这时通讯采用的是S7协议,那么建议您选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;
89:为什么系统上电后,即使CP342-5开关已经拨至Run,但始终处于STOP状态?
应当检查STEP7程序和组态是否正确(删除程序,只下载硬件组态)、检查CP342-5连接的24V电源线是否正常、M端是否与CPU的M端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP的firmware是否正确。如果您确认可以排除以上原因,那么可能您的CP342-5已经损坏,请更换;
90:如何用CP342-5组态PROFIBUS从站?
1.在STEP7中生成一个新的项目,并插入一个S7-300站。
2.在硬件组态窗口中选择一个S7300的导轨以及相应的CPU。
3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300 > PROFIBUS > CP342-5" 选中于您订货号和版本号对应的CP342-5,插入到S7300站对应的槽位中,注意如果您购买的是Version5.1,而组态中只能够找到Version5.0,您可以选用Version5.1替代Version5.0.。
4.在插入CP342-5的过程中,会弹出一个PROFIBUS属性窗口,请点击”New…”按钮,创建一个PROFIBUS网络PROFIBUS(1) ,并设定CP342-5作为从站的站地址为3。
5.双击CP342-5,打开CP342-5的属性窗口,在"Operating Mode" 标签页下选择"DP Slave" 选项,此时会弹出一个警示窗口,告知您如果要用CP342-5实现CPU和PROFIBUS从站的通讯,必须调用FC1(DP_SEND)和FC2(DP_RECV)功能块,实现CPU与CP342-5之间的数据交换,而CP342-5与PROFIBUS的数据交换是自动完成的,不用编程。FC3和FC4用于诊断和通讯功能的控制,一般不用调用。
6.点击OK ,存盘编译。. 91:如何用CP342-5组态PROFIBUS主站?
1.在STEP7的SIMATIC Manager窗口中在插入一个S7300站;
2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;
   在"Operating Mode"标签页中选择"DP Master"选项;
92:采用CP342-5的DP通讯口与采用CPU集成的DP通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?
可以通过CPU集成的DP通讯口或CP443-5模板的DP通讯口,调用Load/Transfer指令(语句表编程,如图2)、Mov指令(梯形图编程)或系统功能块SFC14/15访问从站上的I/O数据;
如果您使用342-5模块的DP通讯口进行通讯,那么您就不能使用Load/Transfer指令(语句表编程)、Mov指令(梯形图编程)直接访问PROFIBUS从站的I/O数据。采用CP342进行PROFIBUS通讯包括两个步骤:
1.CPU将数据传输到CP通讯卡的数据寄存器当中;
2.数据从CP342-5的数据寄存器当中写到PROFIBUS从站的Output数据区(反过来就是CPU读取从站Input数据的过程);CP342-5与从站的Input/Output数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块FC1(”SEND”)和FC2 (”RECV”),完成CP342-5与CPU之间的数据交换。
93:功能块DP_SEND、DP_RECV"的返回值代表什么意思,如何理解?
"DP_SEND"功能块包括有"DONE","ERROR" 和"STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和"DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换成功进行。
94:DP从站,CP模板以及CPU之间的数据通讯过程是如何进行的?
使用CP342-5模块,无论调用"DP_SEND" 功能块还是"DP_RECV" 功能块,您都不能直接读写某个PROFIBUS从站的I/O数据。CP342-5模块有一个内部的Input和Output存储区,用来存放所有PROFIBUS从站的的I/O数据,较新版本的CP342-5模板内部存储器的Input和Output区分别为2160个字节,Output区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在Input区,整个过程是CP342-5与PROFIBUS从站之间自动协调完成的,您不需编写程序。您可以在PLC的用户程序中调用"DP_SEND"和"DP_RECV"功能块,读写CP342-5这个内部的存储器。
95:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?
用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等
96:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?
当S7-300系统中的CP342-5作为DP主站,下挂IM153-2 模块时,IM153-2只能作为DP主站,而不是S7从站运行。可以采取通过GSD文件将ET200从站组态进你的系统。随后IM153模块可作为 DP 标准从站运行。为此,您必须将GSD文件安装到硬件目录中(通过菜单序列Tools > "Install new GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices".中发现DP从站。
97:11.2. 在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为'*.dll'文件无法被装载,代码是257:5,
可以看出,上面的错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。
98:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?
1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
99:STEP 7中相关时间处理和转换的功能块有哪些?
SFC 0 "SET_CLK" 设置CPU时钟
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换
100:如何实现带电拔出或插入模板,即热插拔功能?
   使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。
1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2:将IM153模块拖到PROFIBUS总线上;
3:选择I/O模块,插入到ET200M站的各个槽位中;
4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上。101:我如何做到对自己的程序块进行加密保护?
您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
6.现在就完成了您程序块的加密保护;
102:我如何做到对自己的程序块进行jie密?
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
现在程序块的加密保护已经取消。
注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的;
103:在冗余电源配置中,电源模块掉电,调用那个OB可以防止CPU停机?
通过在程序中添加OB83可以防止CPU停机而添加OB81不能防止CPU停机。
通常我们很容易以为OB81就是处理所有电源故障的OB块,但对于冗余电源配置中,某个电源模块掉电故障,实际上CPU当作模块插拔故障来处理,因此需调用OB83。
104:WinCC作为Modbus主站,进行浮点数读取时数据不正确是什么原因?
WinCC作为Modbus主站,进行浮点数读取时,Tag的类型应当选为浮点数32位,注意地址偏移为32的整数倍+1(即33、65、97),如果采用选用Input Bits/Output Bits方式读写(Function Code 01,02),在PLC当中应当将一个字的高低8位进行对调。如果选用Input Words/Output Words方式读写(Function Code 03,04),在PLC当中将一个双字的高低16位进行对调,S7300 Modbus程序块的浮点数处理存在误差,大致在0.5%左右。
105:CP341 modibus通讯时,modibus功能码如何设定?
Function Code 01,05,15 对应M,Q,T,C等数据区,可读可写,具体的字节范围由您在modbus从站组态时设定。
Function Code 02对应M,I数据区,只读,具体的字节范围由您在modbus从站组态时设定。
Function Code 03,06,16 对应DB区,可读可写,在modbus从站组态时设定对应的DB块。
Function Code 04 对应DB区,只读,在modbus从站组态时设定对应的DB块。
106:CP34x的通讯连接电缆中,自己制作电缆应该注意哪些?
如果你使用自己制作的电缆,那么必须使用带屏蔽外壳的D型接头,屏蔽线应当和接头的外壳连接,禁止将电缆的屏蔽层和GND连接,否则会造成通讯接口的损坏,请注意RS232不支持热插拔,所以一定要断电后在插拔通讯电缆;
107:在用CP340,CP341与第三方产品通讯时(如PC机,用VB,VC读数据)怎样识别联线是否是好的?
在用CP340,CP341与PC机通讯时,常常读不出数据,这样有两个方面原因。
其一,在PLC侧程序是否正确。用上升沿触发P_Send,可以看见TXD灯闪,这样可以判断PLC侧程序没问题;
其二,PC侧VB,VC程序的问题及电缆线的联接好坏,无从知道,如果联线没问题,就可以集中精力在PC侧找原因,判定联线是否接好,显得非常重要,有一个小方法可以测出。在PLC侧修改CP340用ASCII方式传送,在发送DB块中写几个字符形式的数据(chat 如'1','2','A'等)并间隔触发P_Send功能块。
在PC侧修改串口参数与PLC一致,如波特率,数据长度,停止位,奇偶校验,无握手信号等。在Windows下附件中打开"Hyper Terminal"建立一个直接到串口的连接,这样就可以读到从PLC中发送的数据如‘12A'等。同样用"Send Text File"的功能,把一些字符送到PLC。这样如果联接电缆是好的,那么可以简单地判断问题是出在哪里。
108:如何使用CP341模板实现Modbus主站或从站通讯,我应当定购那些产品?
1)CP341 模块: 6ES7 341-1xH01-0AE0 (x:= A: RS232; x:= B: TTY; x:= C: RS422/485)
2)**(MODBUS master): 6ES7 870-1AA01-0YA0
或者**(MODBUS slave): 6ES7 870-1AB01-0YA0 109:每当断电重启后,CP341模板和调制解调器(如SATEL的modem)之间的通讯出错是什么原因?
这是因为 DTR 、 RTS信号默认为0造成的,可以在OB1中调用FC6 (V24_SET). 参数RTS 和 DTR 设置为"TRUE". 110:配置"CP 340 RS232C"打印工作应注意什么?
调用功能块FB4"P_PRINT"打印字符信息。功能块"P_PRINT"传送信息给通讯处理器CP340,CP340发送信息给打印机把信息打印出来。为了打印这些信息必须知道参数"P_PRINT","Pointer DB","Variables DB"和"Format String"的相对关系。
111:CP 341 / CP 441-2 需要多少许可证(License)?
在任何情况下,每一个MODBUS站都需要一个单独的许可证。6ES7 870-1AA01-0YA0包含软件CD,文档(PDF文件)和硬件狗。如果在同一个站使用几个CP341或CP441通讯处理器,则每个CP都需要一个MODBUS许可证副本(copy license),即不带手册和软件的MODBUS Dongle,只有一个硬件狗,订货号为6ES7 870-1AA01-0YA1。
注意事项:
对于有两个接口的 CP 441-2,仅需要一个许可证,并且每个接口都可以使用任何协议。
112:关于CP34x串行通讯中的起始位、数据位、校验位、停止位的说明?
CP34x通讯模板与其他设备进行通讯时,串口传输的是一个10位或11位的数据帧,在模块的Parameters属性窗口中您可以设置数据帧的格式,对这个10或11位组成的数据帧的组成遵循以下规则:
帧的第一位必须是起始位,始终为1,不能修改;
起始位之后是7-8位数据位,由用户收发的数据组成;
数据位之后是校验位,odd奇校验,even偶校验,any不校验但校验位为0,none无校验位;
校验位之后是停止位,可以设为1-2个位,始终为1,不能修改;
113:如何通过单向通信从S7-300 / 400访问S7-200上的数据?
通过MPI,从带有X_PUT / X_GET的S7-300 / 400 可以访问几个S7-200 CPU。在这种情况下,g S7-300 / 400 是主站,S7-200 是从站。
对于CPU22x系列的S7-200 CPU,可以在19,2 kBd 和 187,5 kBd下工作。从某个固件状态起,CPU21x系列的S7-200 CPU只能控制波特率19,2 kBd。
114:使用通讯处理器(CP340, CP341, CP441-2, CP441-1)时对于协议 3964(R) 和 RK512 可以使用 2 线和 4 线模式吗?
在点对点通讯中,在使用上述的通讯处理器时,只能在 4 线模式中执行协议 3964(R) 和 RK512. 115:当传输字符串或ASCII字符应注意什么?
当传送字符串必须确认最高为254字符。一个STRING(character string)的数据格式最大256字符,包括254个字符,最大的字符长度在字符串的第一字节中定义,实际长度在第二个字节中定义,接下来的是字符ASCII格式。
当传送字符串数据时,指针必须指向用户数据的第一位而不是字符串的第一个位。
116:通过PROFIBUS-DP使用SFC 58/59或者 SFB 52/53进行通信时,存在通信限制吗?
当使用写操作标签和读操作标签(SFC 58/59或者SFB 52/53)时,存在根据CPU而定的对活动工作的限制:
CPU 31x-2DP: 每个DP链上允许同时进行4个写操作和4个读操作。
CPU 317, CPU 318-2: 每个DP链上允许同时进行8个写操作和8个读操作。
CPU 41x-2DP: 每个DP链上允许同时进行8个写操作和8个读操作。
在外部链上,每个SFC/SFB同时进行的写操作和读操作的数目总共不能超过32。因此,每个CPU和SFC/SFB上可以同时进行最多40个(内部链上8个 + 外部链上32个)作业。
如果在PROFIBUS Net上运行几个通信伙伴,请确保不要激活比指示值更多的作业。一个SFC/SFB可能持续几个CPU循环周期. 118:可以用模拟输入模块SM 331-7NF00进行参数设置的最大干扰频率是多少?
通过硬件配置,可以设置参数为400Hz的最大干扰频率。通过特殊的滤波器可以得到这个数值。
最小的有效综合时间是10ms——这样就可抑制100Hz的干扰频率。模块的最小基本执行时间(释放所有通路)是140ms. 119:关于机架故障,在编程OB86时需要注意哪些事项?
只要检测出机架故障,操作系统就会调用OB86,例如:报告机架故障(例如:缺少IM或IM故障导致连接电缆中断),机架的分布式电源故障,在总线系统PROFIBUS-DP的主站系统中,DP从站发生故障。
   在S7-300和S7-400中处理故障的方法不同:
在S7-300中,当中央机架出现故障时,不调用OB 86;只有分布式机架发生故障才调用它。
在S7-400中,非分布式或分布式机架出现故障的情况下,均调用OB 86。
120:关于300的硬件安装配置应该注意什么?
通常一套S7-300 PLC系统有一个主机架,安装有CPU的机架称为主机架,当主机架上的I/O模块(最多8块)上的控制点数不够时,可以再增加1-3个扩展机架,每个扩展机架最多可安装8个I/O模块,装在4到11槽,3个扩展机架最多安装24个I/O模块。
在使用扩展机架时,需要机架(Rack),电源模块(PS),接口模块(IM),连接电缆368,S7-300的模块(信号模块、通讯模块、功能模块等)。
S7-300的安装机架是一种导轨。你可以使用该导轨,安装S7-300系统的所有模板。S7-300既可以水平安装,也可以垂直安装。要注意其允许的环境温度为:
垂直安装:0 至 40°C、水平安装:0 至 60°C、 CPU和电源必须安装在左侧或底部。
121:如何判断电源出错,如:电池故障?
如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则S7-400仅访问OB81。如果没有组态OB81,则CPU不会进入操作状态STOP。如果OB81不可用,则当电源出错时,CPU仍保持运行。
122:如何诊断模拟量模板?
CPU 可以中断用户程序的执行处理诊断报警块OB 82。
在用户程序中你可以调用OB 82 中的SFC 51 或SFC 59 以从模板中获得更为详细
的诊断信息。
诊断信息在OB 82 退出之前都是一致的当OB 82 退出时将对模板作出诊断中断响
123:对于小功率输入的触发器,如何避免线路损坏?
将触发器连接到SM322-8BF,如果它的1信号功率输入低于10mA(例如1mA),则可能会报告线路损坏。不建议禁用“Wire breakage”诊断,因为这将禁用所有的诊断,并且当SM322-8BF在一定电流范围(0.5到10mA)内工作时,可能无法安全地开关。
补救措施:接一个与触发器平行的电阻,这样至少有10mA(24V ca. 2.4 kOhm)的电流。该电阻应该直接安放在触发器上,从而可以方便检测线路损坏。
124:如何为S7 318-2 CPU进行操作系统更新?
创建一个操作系统更新卡所必需的条件:
1. S7存储卡的类型:2 MB的闪存,订货号6ES7 953-8LM00-0AA0、6ES7 951-1KL00-0AA0
2. STEP 7 V3.1或更新版本
3. 具有外部PROM编程器的PC或者编程设备(PG),用于编程存储卡
使用STEP7创建操作系统更新卡的步骤:
1. 下载所需的CPU文件;
2. 双击文件名将文件解压缩;
3. 在Simatic Manager中执行“File/S7 Memory Card/Delete”,删除微存储卡内容;
4. 在Simatic Manager中选择“PLC/Update CPU Operating System”对操作系统进行编程。选择目标目录并“打开”CPU_HD.UPD文件,开始编程过程;
5. 当标准鼠标指针重新出现时,即完成对操作系统更新卡的编程。
执行操作系统更新:
1. 切断CPU所处机架的电源(PS);
2. 在CPU中插入准备好的操作系统更新卡;
3. 接通CPU所处机架的电源(PS);
4. 操作系统从微存储卡传送到内部CPU闪存EPROM。此时,将点亮CPU的所有LED(INTF、EXTFFRCE、CRST、RUN、STOP);
5. 大约2分钟后完成操作系统更新,此时STOP LED将慢速闪动=>请求系统存储器复位;
6. 切断电源,插入操作所需的微存储卡;
7. 接通电源,CPU执行一次自动存储器复位,之后立即进入准备就绪状态。.
注意:为执行更新,必须从模块中拆除电池. 125:模拟量模板的信号转换时间如何计算?
转换时间由基本转换时间和模板的以下其它处理时间组成
1)电阻测试 2)断线监控
基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换
对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用STEP 7 所设置的干扰频率抑制。
126:是否可能在两个DP从站之间运行一个DP网络?
不能。不可能建立从站-从站通信。总是需要一个主站来操作DP网络。智能从站可以访问其它从站的初始值(直接数据通信),但是总是需要DP主站来控制DP网络。智能从站也可以不使用DP网络而独自工作(单机工作),但是它们不能作为DP主站来提供服务。仅可以与模块接口共同工作。
127:对于有些模拟量输入模板你可以使用STEP 7 设定模拟值的平滑指数,它能起到什么作用?
使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模拟值与被测值之间的缓慢变化相适应非常重要,例如温度测量时。
平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转换数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号。
128:模拟信号电缆应该单端接地还是2端接地?
为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两
但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干
扰在这种情况下你应该让电缆的屏蔽层一点接地。
129:模拟量信号为:7FFFH,是什么原因?
每个模拟量输入模板都可提供被测值7FFFH 与发现故障时的参数赋值无关,该被测值
可以是上溢故障或通道无使能
130:防止静电放电危险一般有哪些措施?
保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。
避免直接接触:只在不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影响对静电敏感的设备
如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设备。
131:S7-300/400 PLC支持哪些寻址方式? 1)直接寻址
1.直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等
2.符号寻址:例如qq,ww.aa等
2)间接寻址
1.存储器间接寻址:16位指针,例如OPN DB[MW2] 32位指针,例如A I[MD0] 2.寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0] 132:如何使用指针?
指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。指针用于存储器间接寻址
程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。
下面给出一个双字格式的指针的例子:
L P#8.7 把指针值装载到累加器1 T I[MD2] 把指针值传送到MD2 A I[MD2] 查询I8.7的信号状态
= Q[MD2] 给输出位Q8.7赋值
存储区域内部寻址及交*寻址:程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址
寄存器(AR1、AR2)及偏移量必须写在方括号内。
存储区域内部寻址例程:指针不包含指示存储区域的信息:
L P#8.7 把指针值装载到累加器1 LAR1 把指针从累加器1装载到AR1 A I[AR1,P#0.0] 查询I8.7的信号状态
= Q[AR1,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8。
存储区域交*寻址例程:在存储区域交*寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。
L P#I8.7 把指针值及存储区域标识装载到累加器1 LAR1 把存储区域I 和地址8.7装载到AR1 L P#Q8.7 把指针值和地址标识符装载到累加器1 LAR2 把存储区域Q和地址8.7装载到AR2 A [AR1,P#0.0] 查询输入位I8.7的信号状态
= [AR2,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8,
133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素?
一个域(数据类型为ARRAY)是几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下:
My_Array: ARRAY[4..11] OF INT; 它标识了一个数据类型为“INTEGER”的8(=11-4+1)元素单空间域。
为了访问域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码,比如:My_Array[6]。
在S7-SCL (结构化控制语言- 符合IEC 1131-3 的结构化文本)可以使用变量做索引:
i:INT:=46 My_Array[i]:=0 在FBD/LAD/STL中,索引必须是个常量,因此限制了可使用的域的范围。
134:怎样访问复合数据类型数组单元的变量?
复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。
首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。
L P##Field_Start // 输入地址域[0] LAR1 L D [AR1,P#0.0] // 把这些地址保存在类型为ANY的临时变量中
T LD 0 // temp 'firststruc' = LD 0-9 T LD 10 // temp 'sourcestruc' = LD 10-19 L D [AR1,P#4.0] T LD 4 T LD 14 L W [AR1,P#8.0] T LW 8 T LW 18 L LD 16 // 定义期望数组的地址
LAR1 L #Indices L LW 12 *I SLD 3 +AR1 TAR1 LD 16 然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数组通过符号访问。然后用SFC20 (BLKMOV)将数组[0]拷贝回原始区域。
135:能否在STEP 7中使用间接寻址编写循环程序?
可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数。这意味着,程序的一部分可以重复执行。在每个运行周期内,循环编程为所使用的操作数分配不同的地址。
136:ANY指针类型的参数如何被传送出块边界?
下面的例子解释了系统功能块SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定。例如,为功能块FB1编程可分为下面几个步骤:
?声明一个IN变量“test”和一个TEMP变量“test2”,类型都为ANY(图1)。
?将SFC50的参数“PEADDR”传送到变量“test2”。
?通过为ANY指针“test”赋值,将数据传送到临时变量“test2”中。
语句L P##test首先将地址装载到Accu1,然后通过LAR1语句装载到地址寄存器AR1中(可能是LAR1 P##test的简化格式)。通过寄存器间接寻址将ANY指针(10 字节长)中的地址信息读出:
0 L W[AR1,P#0.0] 读出当前Accu1中参数数据类型的代码。
2 L W[AR1,P#2.0] 读出Accu1中的重复因数。重复因数表明通过参数类型ANY传递的数据类型的大小。
4 L W[AR1,P#4.0] 读数据块的号或者从ANY指针中读出“0”(这个对应于ANY指针的第 4 到第 5 字节)。
6 L D[AR1, P#6.0] 将区域指针读入Accu1。
每次读地址寄存器AR1之后,数据被保存或者缓存(如T LW 0)在临时变量“test2”中(ANY指针)。按照Network 1中的语句顺序,传送到功能块FB1 的ANY指针被复制到临时变量“test2”中。
137:怎样通过交*区域寄存器间接寻址访问功能块的本地数据或者功能?
这里必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据:
对于存储器间接指针寻址,本地变量必须声明为临时变量(temp):
L P##Lokalvariable LAR1 L W[AR1,P#X.x] 此处不能使用变量类型“Input”、“Output”和“In_Out”,将被语法检查视为非法。
138:怎样编程间接访问一个ARRAY类型变量的元素?
一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节). 声明部分:
在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。
域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:
地址(指数):b = 元素长度*(指数 - 1) 创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。
保存ARRAY数据类型:
示例:ARRAY [1..2,1..3] OF 整数将生成下列域:
多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2],整数 [1,3]后面是整数[2,1]。
139:STEP 7 以哪种格式存储POINTER参数类型?
STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。i POINTER参数类型保存了下列信息:
DB号(如果DB中没有保存任何数据时为0)。
CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。
数据的地址(按照Byte.Bit格式)。
如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。
140:如何间接访问I/O地址区域? 下面演示了一个间接访问PA区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利
FUNCTION_BLOCK FB 2 TITLE = VERSION : 0.1 VAR_INPUT TargetAddress : DWORD := DW#16#FF; //Target address by PA address range OutputValue : DWORD ; //Output value P_Typ : BOOL ; //1=PE range, 0=PA range END_VAR VAR_OUTPUT InputValue : DWORD ; //Input value END_VAR VAR_TEMP TargetTmp : DWORD ; END_VAR BEGIN NETWORK TITLE = U #P_T SPB PEA; L #TargetA T #TargetT //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetT //Initialisation of temp variable with target address in L-Stack L #OutputV //Load output value T PAD [#TargetTmp]; //Transfere output value to target address SPA E PEA: L #TargetA T #TargetT //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetT //Initialisation of temp variable with target address in L-Stack L PED [#TargetTmp]; //Load output value T #OutputV //Transfere output value to target address End: CLR ; END_FUNCTION_BLOCK 141:应用软件冗余当一个长度错误出现导致CPU处于STOP模式应该作些什么? 当在OB100中设置软件冗余功能块FC100时,必须注意下列情况:参数IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数DB_NO的数据块也必须时这样。
142:在S7程序中,有许多FC、FB块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢? 1) Step7中, 可以先任意打开一块如OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"object name"如"tt",然后按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如FB1、FB2等等, 然后退出所有的程序块,再进入SIMATIC Manager中。
2) 在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。
注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。
143:SFB41,SFB42,SFB43和FB41,FB42,FB43的区别?
SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别:SFB41,42,43与FB41,42,43的参数设置是一样的。SFB41,42,43只能用于CPU314IFM;FB41,42,43可用于CPU313以上的CPU(除CPU314IFM),因为SFB41,42,43集成于CPU314IFM中,而在普通CPU中没有这些块。
144:如何在多例兼容功能块中找到变量地址?
在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的绝对地址。如果要在情景数据块中找到变量的绝对地址,则必须把域内指针(只是AR2的地址)加载到变量地址。
样例: TAR2 //将地址寄存器加载到累加器AC1(偏移量) UD DW#16#00FF_FFFF // 关闭区域ID L P##variable //加载变量地址
+D // 增加偏移量和变量地址
LAR1 // 保存地址寄存器AR1中的结果
这样可在AR1中获得绝对地址以进行进一步处理。
当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘0'就在地址寄存器中。
注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并在对程序动作完之后将其复位为初始状态。
样例: TAR2 // 在累加器中加载偏移量地址
T #save // 比如,静态本地数据域 0中的变量
L DID 0 // 地址绝对是由DI加载的beds<Y L AR2 // 核对
145:怎样才能访问上一函数的本地数据?
如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建ANY指针或绝对地址到被调用的FC。如果传送的是自创建ANY指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于ANY指针中。此码必须准确传送。当指定绝对地址时可由编译器完成此工作。
常规程序结构:
以ANY指针或绝对(地址)方式传送:
LAR1 P##target //本地定义的ANY变量初始地址
L W#16#87 //为“V”区域载入码
T LB[AR1,P#6.0] //传送到ANY变量
CALL FCxy source1: = #target //传送自创建的ANY指针
source2: = P#L 0.0 BYTE 8 //传送完全L数据区
绝对寻址与通过ANY指针寻址的区别:
下图显示了绝对寻址与通过自创建ANY指针寻址间的区别。在这种情况下“87”码不传送,因此ANY指针指向其本地区域。
146:怎样在DB内进行间接寻址?
在DB内进行间接寻址例子
147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?
siemens指针寻址例子_cpu315 148:绝对地址和符号寻址的定义和区别是什么?
在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On,或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。
绝对地址:绝对地址由地址标识符和存储器的位置组成,例如Q1.0,I1.1,M2.0, FB21等。
符号地址:如果为绝对地址指定一个符号名,程序会更便于阅读和查错。
STEP 7 可以自动将符号名翻译成所需的绝对地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型,必须首先为绝对地址指定一个符号名。
例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。
注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。
编程支持:LAD、FBD、STL中地址、参数、块名可用绝对地址或符号表示。
用菜单命令View > Display > Symbolic Representation,可以切换绝对地址和符号地址
为了使用符号地址编程更加容易,可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol Information来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。
149:S7-300/400系统存储区域共有多少种?
S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。
150:如何把一个DATE_AND_TIME变量转换为STRING变量?
为了以日期/时间字符串(STRING)形式显示DATE_AND_TIME变量,必须DATE_AND_TIME 变量的专用字节转换为相应的CHAR字符。
读取DATE_AND_TIME 变量的专用字节并从这两位数所在ASCII码中创建专用位。将确定了的CHAR字符存储在字符串的期望位置。
SLD 12 SRW 4 SRD 8 L W#16#3030 + I T 数字字符年
也可以用相反顺序将一个STRING格式的日期/时间字符串转换为一个DATE_AND_TIME变量
西门子SIMATIC S7-300/400 问答大汇总
1. 怎么使用 MPI/DP-RS232
问:我要将 CPU314 与电脑连接通信应该怎么办?是否用 MPI/DP-RS232 连接器,要怎么用啊? 答:第一步,将适配器(PC Adapter)与 RS232 电缆相连。适配器的 MPI/DP 口插入 CPU
的编程口,RS232 电缆与 PC 的串口连。
第二步,进入"开始"->"设置"->"控制面板"->"SET PG/PC Interface"。点选
“ Access Point of the Application ” =S7ONLINE ( STEP7 ),“ Interface Parameter
Assignment”=PC Adapter (MPI)。
第三步,点“Properties”进入属性设置,MPI 设置内容:选中“PG/PC is the only master on the bus”,其余内容沿用默认值,或根据 CPU 的状态变更。
Local Connection 设置:COM Port=硬件连接的串口,Transmission Rate=PC Adapter 的 拨码位置。 确认后退出设置,如果上下位机参数一致的话,此时连机就会成功。
2. IW 和 PIW 有什么区别
问:STEP7 在实际应用中 IW 和 PIW 有什么区别?
答:我个人理解:对于没有相应的映像缓冲区的输入地址,一定采用 PIW 指令,而一般外 设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,一般使用 IW,表示 取映像缓冲区内数据,但也可用 PIW,表示直接取地址内的数据而非映像缓冲区的数据, 相当于立即读取。对于输出亦是如此。
3. 模拟信号接地问题
问:我用的 SM331 8*12bit 模块信号有时正常有时不正常,后来我把 COMP-跟信号的 M- 接起来就好了,但我同时发现他们之间接电容也可以,是怎么回事??模块的 COMP-端、 各信号的 M-端和模块 24 伏供电的 M 端之间电气上有什么关系??
答:对隔离输入模板,.摸板参考地 Mana 与 CPU 的电源地 M 没有电连接。因此 Mana 与
M 有电位差时,必须采用隔离输入模板。但是,如果电位差超过 Eiso,则必须建立 Mana
与 M 之间的连接。对 SIEMENS 的模板,Eiso=75VDC 或 60VAC。
对非隔离输入模板,则必须建立 Mana 与 M 之间的连接。 为抑止信号地 M-与 Mana 之间 的共模干扰,不同传感器的接地方式不同,限于篇幅以及图解困难,难以细说。一般原则是, 建立信号地与模板的地、模板地与(CPU)系统地的连接。如果有干扰环流,则将取消模 板地与系统地的连接,让模拟地悬浮。另外,屏蔽推荐双端接地,如果有干扰环流,则改为 单端。
4. cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适
问:cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适?
答:CP342-5 工作原理是, 首先通过硬件配置将各 DP 子站的分布 I/O 映射到 CP342-5 的内 存,然后再通过 FC1(DP_SEND)、FC2(DP_RECV)实现 CPU 与 CP342-5 的数据交换。数据 传递的过程如下:
CPU 内存————->CP342-5 ——————->DP 子站的输出
CPU 内存<————-CP342-5 <——————-DP 子站的输入
程序中我们控制的只是 CPU 与 CP342-5 之间的通讯,而子站与 CP342-5 的数据交换是由
CP342-5 根据硬件配置自动完成的。
关于 cp341 与 MM440 通讯
问:我用 s7-300(cp341)与 MM440 的 com 口(29 30)通讯控制变频器
2 个 PZD,4 个 PKW 具体参数设置如下:
P003=3;P700=5;P11=1;P13=4;其他参数采用工厂设置。
仿照 USS-S7 中的例程进行编程;但是只能向变频器发送 PZD 参数(控制字 1 和主设定值), 但不能返回任何参数。CP341 的指示灯只显示不断发送,接受灯不亮。
在数据块 dbnd(DB100)中的 DBW6(通讯状态字)的值为 0200;DBW8(通讯故障字) 的值为 0080;不知是什么意思?
答:CP341(RS422/485)采用(RS485)ASCII 码协议。CP341 如果采用手册中的接线 方式(11+,4-)则 cp341 的接收发送灯同时亮,但是不能进行数据传输;如果接线为(9+,
2-)则出现前述情况,即只能向变频器发送 PZD 参数(控制字 1 和主设定值),但不能返回 任何参数。
如果你只接了 9、2 的话,现象则说明你的参数设置没有问题。在 4 线方式下,9、2 是发送 端。11、4 是接受端,没有接线自然没有数据返回。
对 MM440 应该用 2 线方式,接线是
11(CP341)————-29(mm440)
4(CP341)————-30(mm440)
且 2 与 4、9 与 11 要短接,你接了吗?
此外,在 PKW 中你的任务识别标记 ID 和参数号填对了吗?
5. 315-2DP 与 ET200M 问:通过 DP 相连,CPU 地址为 2,ET200M 地址为 5,硬件上地址设置正确。 在项目管理器 里把软硬件组态好了以后,把 SIMATIC300 STATION 传给 PLC,显示 SF 错误,ONLINE 情况下, OB1 不运行。
如果把 HARDWARE 再传一遍,则 SF 错误无,OB1 可运行,现在再把 SIMATIC300 STATION
传给 PLC,则重新有 SF 错误。
我原来以后,把 SIMATIC300 STATION 传给 PLC 一次,相当于软硬件组态都传一次,请 问各位高手,这样正常吗?
答:我想楼上的各位可能没有看清楚 royal 的问题:他通过 HARDWARE 下载+OB 下载, 没有问题,这样可以排除是组态和程序的问题。他只有在用 STATION 下载时才出现故障,
SF 灯亮。所以原因不是很明确。
我个人认为是不是 royal 并没有将 HARDWARE 进行“编译保存”,因此他的程序块内没有
“SYSTEM BLOCKS”,所以才出现他所说的现象。请 royal 在试一试!
6. S7-300PID 的 FB41CONT_C 功能及参数设定
问:请教各位高手,本人现用到西门子 S7-300(CPU315)做整流系统的 PID 控制,具体 是由 AI 模块输入 4-20MA 信号(既 A 柜/B 柜饱和电抗器控制电流信号反馈和机组 A 柜/B 柜直流电流信号反馈),通过 CPU 调用 PID 功能块,实现自动闭环控制,最后由 AO 模块 输出一个 4-20MA 的信号给稳流系统(既 A 柜/B 柜电流给定反馈)。
现请教:1、具体应调用 S7 的 PID 中的哪些功能块。我是直接在 OB1 里边调用 FB41,不 知可否。
2、PID 标准块 FB41 的输入输出参数如何整定,PV_PER、SP_INT、PV_IN 有何区别。
3、GAIN、TI、TD 如何整定。
4、MAN_ON、PVPER_ON 怎么用,是直接在 FB41 的输入端写吗?
答:原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要 求。这也就是 FB41 要在 OB35 中周期调用且 OB35 的周期要与 FB41 采样周期一致的原因。
当然,在 OB1 或其他 FC、FB 中调用 FB41 也是可以的,此时最好将 OB1 参数区中扫描周 期作为 FB41 的采样周期。
本人在管道恒流恒压的 PID 过程控制中,也曾在 FC 中无条件连续调用 FB41,PID 效果也 还令人满意。我个人认为,精度要求不高的应用中,简单调用也是可以的。
FB41 参数的设置很灵活,可根据自己的习惯或应用的方便选择。下面是一种方式。
MAN_ON :激活 PID 手动调节给定值 MAN 的使能位,可用 PID 手自动转换位来触发。 PVPER_ON :是 PID 输入输出参数“PERIPHERAL 化”的使能位,即将参数看成 0~27648 之间的整数。换个说法,就是 PID 的反馈值直接取自相应 AIW 通道,而 PID 输出则直接给 出到 AQW 通道。参数整定由 FB41 完成。可用调节装置的启动标志来触发本位。
MAN :PID 手动调节给定值,当“MAN_ON=1”时有效。
CYCLE :采样周期。根据物理量变化快慢定,一般要求与 FB41 执行的周期一致。
SP_INT:PID 的设定值。注意设定值与反馈值的单位一致。为了避免错误,建议将 SP_INT
转换为-100.0~100.0%之间无量纲的百分数,输入到 FB41 时,注意只取百分号之前的数即可。
PV_PER:PID 过程的反馈值,直接取自反馈量的 AIW 通道的 A/D 码。仅在“PVPER_ON=1”时有效。 GAIN:比例系数。 TI:积分时间。 TD:微分时间。
LMN_PER:PID 的调节输出,直接对应调节输出 AQW 通道。
设置了上述参数,基本的 PID 调节就可以实现了。根据需要再完善其他参数的设置,比如 死区的设定等。
利用 STEP7 中的 PID 赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块,
FB41 调用时无须再赋值。
7. 除 300 中的密码
问:我在使用 CPU313C-2PTP 时,往 PLC 里下了一个程序,开始还好使,可下载了几次之后, 竟然要求密码!本人申明,程序没加密,而且本人还不知如何加密!请问大虾, 如何清空
PLC 的程序而不需要密码?
答:你需要对 MMC 卡进行格式化操作。格式化过程如下:
1. 将开关置为“MRES ”位置,并保持,直至 LED 停止闪亮(即直至大约 9 秒钟后永亮 着)。
2. 在随后的 3 秒内,释放开关,并再次切换为“MRES ”位置。STOP LED 现在闪亮, 指示正在进行格式化。
一定要使用规定的操作顺序。否则,MMC 就不能进行格式化,而是返回存储器复位状态。 我建议你在 http://www..cn/download/manual/as.asp 上下载 S7-300C 的所有资料仔 细读一读 才进行以 上操作, 在《 S7-300 可编程控制器 CPU 312C 至314C-2DP/PtP CPU 技术参数》一书上有此操作的详细说明,并有注意事项!请注意。
8. 00 的 L 指令
问:L 指令装一个立即数(常数)到 ACCU1L 1 如何表达我这个装入的数是 Byte? Word? DWord? S7300 还未入门,请高手指教!
答:在装入的时候,如果被装入的数太短,达不到 4BYTE(大多情况这样),则在装入的 时候,会自动填 0而在取出的时候,如果目标是 4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是 0 的,编程时候需要知道的。 比如 L L#16#,这是一个 32 位的 DWORD然后 T MW0,长出的部分被丢掉,最终 MW0 的内容为 16#0304 除非有意这样做,否则做之前是要保证数据没有溢出的。否则计算就乱套了。 反过来,L 16#FFFE (INT -2)T MD0则 MD0 的值为 L#16#0000FFFE (DINT 65534) 数据虽然没有溢出,但数据格式不能继承了。 这种时候,分别需要 DTI 和 ITD 命令进行转换。
至于 200 里面的 MOVB,MOVW,MOVD 等的命令,我想,在 300 里面它是自动的,根据目 标数的尺寸,自动实现不同的 MOVE 功能,与 200 对应。
9. SB 接口和 S7-200 及 S7-300 连接的体会 我最近换了一个新笔记本,没有串口,最后发现它不能和 S7-200 及 S7-300 连接,急得我
只冒汗(差一点儿吐血了),不过最终都搞好了,现把我的体会说一下,以供大家参考。
S7-200 连接过程:
1:安装 200 软件,连接,不行。
2:在本网站上下载延时补丁程序,安装后连接,不行。
3http://www4.ad.siemens.de/WW/llisapi.dll?func=ll&objAction=csView&lang=en&objId=7
843251 下载了一个延时程序,安装,行!
S7-300 连接过程(版本为 step7-5.2):
1:安装 300 软件,连接,不行。
2:查看各种资料、检查各种设置、咨询各种人员、连接,不行。
3:最后安装 windows2000 的补丁程序(SP2),连接,行(好高兴啊!) 综上所述:
1:先要保证你的 USB 口转串口在硬件上和软件上(就是驱动)没有问题。
2:200 要下载能解决问题的延时补丁程序。
3;300 要下载合适的电脑操作系统的补丁程序。
10. lc 程序的下载问题
问:在一个网络中(比如 profibus),有多个 plc,在 step7 中硬件组态中也有 多个 plc,所编程序是整个网络系统的程序,那么程序下载的时候,如何确定哪 些程序被下载到哪一个 plc 中?
答:MPI 网络中多个 CPU(S7-300/400)及 HMI PANEL(WINCE BASED)的程序下载
1. 按照你所需要的网络,完成硬件安装及通讯线的连接.
2. 对所有的 CPU,默认地址都是 2,所以可以分别上电,下载硬件配置与程序.
3. 对于 PANEL 可以通过其控制面板的 S7-TRANSFER 设置网络地址,然后通过 MPI 网络直接 下载 PANEL 的组态程序.注意,此时 S7-TRANSFER 中的 ONLY MASTER ON THE BUS 不能被 选中.
4. 当使用 CP 以点对点的方式对 PANEL 下载程序时,S7-TRANSFER 中的 ONLY
MASTER ON THE BUS 必须被选中. 11. 300 中,如何实现 S7-200 中 SM0.3 的功能
问:在 S7-300 中,如何实现 S7-200 中 SM0.3 的功能?:即开机后进入 RUN 状态,ON 一个 扫描周期,请各位赐教. 答:你必须在 OB100 中调用 SFB21 “RESUME”,原理及注意事项如下。
If there is a rising edge at control input REQ, SFB 21 "RESUME" activates a hot restart on the remote device selected with the ID.
The following conditions must be met if the remote device is a CPU:
1、The CPU must be in the STOP mode.
2、The key switch of the CPU must be set to "RUN" or "RUN-P."
3、When you created the configuration with STEP 7, you allowed for a manual hot restart.
4、There must be no condition preventing a hot restart. Once the hot restart has been completed, the device changes to the RUN mode and sends a positive execution acknowledgement. When the positive acknowledgement is evaluated, the status parameter DONE is set to 1. Any errors that occurred are indicated in the status parameters ERROR and STATUS.
A restart can only be activated again in the same remote device after the previous hot restart has been completed. 12. 关于 IM153-2 配置
问:我的 S7-400H 系统中 IM153-2 的定货型号是 6ES-0XA0,但是在 S7V52 中 HW CONFIG 里无法找到此型号的模块,请问是不是最新产品 在如何硬件配置里如何处理?
答:由于是冗余配置,6ES-0XA0 是由两块 6ES-0XB0 组成。硬 件配置时插入 6ES-0XB0。
13. 一些奇怪的问题
问:1、能不能用 WINCC 直接控制 ET200S?不用任何 PLC,系统的功能很简单,算法在 WINCC 中实现。现在的问题是 WINCC 能直接控制 ET200S 吗?(我在一个系统看到这样 的结构,不知道能不能实现)
2、SFC15,SFC16 在读写智能从站时用,超过 4 个 BYTE 的话就需要 SFC15,SFC16? 如果我一个一个字节读的话(读很多个)是不是就没有这个限制了。
答:请注意:S7-200 与 ET200S 是两个不同的东东。
ET-200S 与 WINCC 连,方法:
1、带 CPU 的 IM151+CP5611,原理过程与 S7-300 类似;
2、如 SHINE 所说,cp+SIMATIC NET,原理过程与连 EM277 类似。通过 COM_PROFIBUS 将 CP 定义成一类主站,并组态相应从站,从而实现对从站数 据的读写。如果有逻辑的话,需借助脚本语言。
14. TP270 支持哪几种印表机
问:TP270 支持哪几种印表机?你有具体的型号吗,另外在那能下载 OP270,TP270 的手 册。
答:MP270,TP270,OP270 功能相近,资源配置略有差别。根据所配硬件,与打印机的 连接有三种方式:RS232、以太网、USB。其操作系统都是 WINDOWS CE,因此所支持 的打印机与普通 PC 一样。如果通过以太网连打印机,则注意所买打印机必须支持网络打印。 下列标准是支持的串行打印机:
&#8226; 与 ESC/P、9 针 ESC/P 或 ESC/P2(EPSON)兼容 例如 EPSON FX850
&#8226; 与 PCL3 (Hewlett Packard)兼容
HP LaserJet 5M
USB 打印机仍可用于 PCL 和 Epson9 模式
15. 两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站? 问:请问两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?
答:CP343-1 是以太网卡,卡本身无所谓主从,因为以太网不是主从通讯机制。只有主从 机制的网络如 RS485 网,典型的有 PROFIBUS-DP,MPI,MODIBUS 等才分主从站。
两 CP343-1 通讯,用 FC5(AG_SEND),FC6(AG_RESV)即可。具体某站用哪个函数,
就看它是 读数据还 是写数据 。对 CP443-1 而言, 则用 FC50 ( AG_LSEND ),
FC60(AG_LRESV)。
16. 300PLC 中处于 STOP 状态应当执行什么 OB 问:300PLC 中处于 STOP 状态应当执行什么 OB?
答:300PLC 中采用事件触发 OB 来执行一些事件,比如通讯错误会使 PLC 处于 STOP 状 态而执行 OB87。如果程序正常,我手动使它处于 STOP 状态,PLC 会执行啥 OB?
stop 状态只有系统软件在运行,你所编的 step7 程序不会运行的
17. 内部 DB 位的问题
问:在制作警报时,我使用了 DB14,按位进行检查,每一个是单独的置位,然后对整个双字进 行相关警报信息换算, 现在在 DB14.DBX2.7,DB14.DBX10.7,这两个位出现了异常,在 LAD 中 被作为线圈输出,当被置位时,他俩为 0,在非置位是却是为 1.和应该出现的位的现象相反, 但其他位都正常,后来只有换掉这两个位,以前用 DB1 也有出现这个情况 DB1.DBX2.7, 后来 也是换掉的! 请各位指点。
答:这段程序是实现集中报警很好的办法。 有新报警,则报警。但如有旧报警消失,则不反应。 不要使用双整数进行比较,而要使用
word,但运算符号为双字的
18. S7-300 中的 FC105 模块中的 27648 是如何得来的?
问:S7-300 中的 FC105 模块中的 27648 是如何得来的?
答:C00 SIEMENS 自己定义的,在其之上到 65535(7ffff),是非线性段,可以 使用,但精度差点。
19. 关于 GD 通信问题!
问:我想用 MPI 连接两个 CPU315 和 CPU313,采用 GD 通信方式。书上说,step7 里的 option
项下的 define Global data 是灰的,不能用。请问谁知道是怎么回事?我用的 step7 版本是
5.1。是不是缺补丁?还是我用的不对?盼回音!
答:CPU 的 MPI 必须为“YES”,再组态 MPI 总线即可。
20. 此站可以用彼站的数据进行程序处理吗?即如何读写远程 CPU? 问:我的意思是许多车间挂在一个 PROFIBUS-DP 总线上,现在一个车间 A 与另一个车间
B 很远,车间 A 的 STEP7 程序想调用车间 B 的数据块比如 DB1.DBD0 和 I1.2,怎么调用? 我 听说可以用 SFB14,SFB15 读写远程 CPU,是怎么读写的??希望哪位大侠帮助指导一下.谢谢 了。
答:你所想的其实就是通讯。主从形式的通讯。 其实并不好。除了上位机和编程器之外, 这样用到的很少。 因为对于处于从属位置的 plc,控制显得乱,程序读起来有些无所适从。
21. 关于 H 系统和 315 相连
问:诸位大侠,如果我想将 cpu315 连上 H 系统的网络,通过以太网可以吗?即直接在 315 上面加一个 343-1 接到交换机,能实现与 H 的 CPU 通讯和切换吗?因为不是太清楚,特请 教。
答:有两种方法:1.在 DP 上用 Y—LINK 将 CPU315 挂在上面,2。用以太网与 H 系统相联, 切换需编程。
22.存储卡的使用方式
问:存储卡的使用方式有几种,区别是什么,常用那种;为什么一开始存储卡好像不起作用, 操作一次后好像才有用,断电重启会读取存储卡内容,如何清空存储卡让其恢复出厂设置;
300 和 400 是否都是这样;谢谢回复!
答:目前 S7-400 可以扩展二种存储卡,RAM 和 FLASH EEPROM。
前者必需要电池,我常扩展 RAM,在线调试比较方便,但不利于维护。如果使用 FLASH EEPROM 最好也要加电池,但如果经常需要修改程序就不方便了。
老 S7-300 只能用 FLASH EEPROM,不能在线修改程序;新 S7-300 用的是闪存,可以在线修 改程序。 FLASH EEPROM 的清空只能用编程器。 存储卡使用方式是“拷贝程序到存储卡和拷贝工程项目到存储卡”这两个通常用那种SAVE TO MEMORY CARD 是在编程器的 MEMORY CARD 插槽中写 FLASH 或 EPROM DOWNLOAD USER PROGRAM TO MEMORY CARD FLASH 是插在 PLC 上的。
23.控制系统方案可行吗?
问:系统中的开关量 350,模拟量 70 左右,12 个 PID 控制回路,打算采用 CPU412-2,经加 上几个 ET200M,为了省钱和接线方便,开关量和模拟量模板想尽可能挂在 ET200M 上,有三 个问题请教:1、ET200M 最多只能挂 8 个模板吗?2、采用 3 块 FM355C 挂在 ET200 上还是选用 FM455C 挂在 CPU 上?那种模块更好,用些编程方便?3、用 FB41 比用 FM355 和 FM455C编程是不是麻烦些?
答:1、1 个 ET200M 站最多挂 8 个模板,也就是 1 个 IM153 后最多可界挂 8 个模板。 2、FB41 最经济,FM355C 其次,FM455C 贵。如果要求不高,推荐用 FB41,编程不复杂。FM355C、FM455C 是可以独立于 CPU 单独工作的控制模块,功能强,响应快,不受 CPU 负荷多少等因素的影响。
24. SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别
问:SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别是什么? 除了 以上问题外,还想问一下 consistent data 这个名次是什么意思?
答:1.在 STEP 7 中的 I/O 存取指令 L,T 不允许用单字节、单字或双字命令去存取具有 3 个或大于 4 字节的相连续的 DP 数据区域(模块)。为了存取这种封闭结构的连续的数据区域, 只能使用 SFC14/15 来使用。
2.不一样,如果你的 DP 从站的地址用的是过程映像区的地址,就没有必要使用 SFC14/15, 只要和普通的 I/O 一样访问就是了,S7-300 是在 0-127 之内。
但如果使用的是外设通道,就有一致性的区别,如果是字一致性,你在访问 PID256 时,就 有可能被中断,PIW256 和 PIW258 的内容不是同步刷新的。而区域一致性的地址只能用 SFC14/15 访问,而且在访问这个连续地址时是不允许被中断的,其内容是同步刷新的。
3.判断一个地址是在过程映像区还是外部输入很简单,双击打开 DP 从站的 I/O 属性,看其 process image 属性,如果是 OB1 PI(对于 S7300,只有一个映像区,S7400 则不然),那 么从站的地址就是在过程映像区里的。如果 process image 属性为空,则属于外部输入。通 常,模块的一致性选择为 BYTE ,都放在过程映像里。一致性为 WORD 或 UNIT 等等,地址都 是外部输入。
以上为我个人的看法,请大家讨论。
25. 关于 SFC20 bit move 为什么出错 问:CALL "BLKMOV" SRCBLK :=P#M 0.0 BOOL 5
RET_VAL:=MW100
DSTBLK :=P#M 20.0 BOOL 5
lw1 和 lw2 的地址冲突的。
答: 用 mw0 和 mw2 来说明: mw0 和 2# 1111 做与操作, mw2 和 2 #
0000 做与操作,再将 2 个结果做或操作,送到目标地址就可以了。
26. 两台 S7-300 用 MPI 组态方法
问:现有 2 台 314,PROFIBUS 通讯插头 2 个,一根编程电缆,一台笔记本需用 MPI 通讯传输 数据。如何连接组态,及下载程序。314 地址各是多少
答:硬件先连好,然后分别上电下载程序即可. 27. S7-400 Work Memory 空间问题
问:S7-400 Work Memory 空间问题 ,使用的 cpu 是 412-2,其 Work Memory Code 的最大容 量是 90000Byte,Work Memory Data 的最大容量是 77824Byte,可是我的程序所需要的 Work Memory Code 大概又 110000Byte,查看了 S7-400 的说明书,CPU412-2 的 Work Memory Code 最大为 72K,Work Memory Data 最大为 72K,请问各位大虾除了不换 CPU 的情况,请问还有 什么好的办法来解决?
答:work memory 只有 H 系统的能够扩展,其他 CPU 没有可能。
变法: 1、更换 CPU; 2、改变程序结构,比如减少嵌套层次,有可能。
28. 关于模拟输入的问题
问:在使用模拟输入模块时(7KF02),输入信号为 0-10V.已经将小模块指向 B 位置,在 STEP7 中也已经组态,模块也有 24V 电源,我用了一个通道其他通道一屏蔽,信号接在端子 2 和 3 上。为什么已接上线模块的 SF 灯就亮,CPU 也报警。
答:上面的问题是由于信号源接地造成的,10 和 11 没有短接。10 和 11 还有每个通道的低 电位端与-M 短接在一起是为了避免信号干扰。
29. 请教 SM331-7KF02 是 12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是
0-27648 问:请教 SM331-7KF02 是 12 位的模拟量输入模块,为何输出对应值不是 0-4096 而是
0-27648? 另外,4-20mA 信号输入,还要外加 24VDC 电源,是否应选 4 线制变送器? 量程 选 C 还是 D?
答:如果 12 位使用 4096,那么 13 位就要使用 8192,14 位 18384,.... 编程的时候需要随 时考虑模块精度,很多标准函数都不能使用了。 低位补 0 的方法比较聪明。
30. S7 300 做双机热备
问:请教大虾,S7 300 中除 318 外,315 可以做双机热备吗?给个例子可否! 答:双机热备的概念是一台 CPU 发生故障,另一台 CPU 马上投入.时间相差在毫秒级。两台
CPU 要求时间严格的同步。用 315-2DP 实现的备份实际上是用软件的方法来实现的,两台 CPU 中只有一台执行冗余备份程序,另一台跳过该段程序,以此实现同步.可以用在切换时间要 求不严格的场合。实现软冗余功能还需购买"SW-REDUNDANCY"软件包,具体实例该包中都有。
31. 如何接无用的模拟量输入
问:当用模拟量 6ES7 331-7KF00-0AB0,有一组的其中没用,还有就是备用通道 应如何接。例如 4-20ma,4 线制的?
答:1 四线制电流 一组中的两个通道串接即可,即输入信号的正极接一通道的正极,一通道的负极接二通
道的正极,输入信号的负极接二通道的负极,这样电流流经两个通道,不影响通道组诊断功 能的使用。
2 二线制电流
在不用的输入口并联一个 1.5-3.3k 欧姆的电阻
3 -+5v/-+10v/热电偶
把不用的通道短接
4 1-5V 把不用的通道和同组的通道并联。
5 一组输入不用
在硬件组态中禁止,硬件调线设置为 B,然后各个通道的输入短路。
32. 如何给程序加密码
问:请指教!给程序块加密
答:在 Step7 中, 可以先任意打开一块, 在"file"中选择"Generate Source"或快捷方式
"Ctrl+T",弹出一个画面,填写"object name"如"tt",然后按 OK 确认,就会再弹出另一个画面, 左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边, 然后退出所有 的程序块,再进入 SIMATIC Manager 中。
在 S7 Program Sources 找到文件 tt,双击 tt 打开,在第四行中加入"Know_How_Protect", 然
后编译, 无 错后存盘。 这样 FB1 、 FB2 就被保 护住,如想 去掉保护,在 tt 中去掉
"Know_How_Protect"编译存盘即可。
注意: 千万不要丢失或删除源文件(如 tt), 否则程序被保护, 用户可以另存到其它目录中,
或 Export Source 到硬盘中,再删除源文件,这样别人只能看到未保护的块。
33. DI 模块输入频率
问:请问 AA0 模块,DI 输入频率最高能到多少? 样本上没有注明! 答:取决于信号模块高电平的建立时间,及程序的扫描周期,前者的时间是固定的,可以忽
略不计,后者的影响较大,如果一个程序的平均扫描周期为 20 毫秒,则输入信号的高低电 平时间都必须大于 20 毫秒,输入信号周期大于 40 毫秒,所以信号频率小于 25HZ,考虑扫 描周期变化的因素,可能输入信号的频率小于 15HZ 才能被可*地识别。
不能满足上述要求,都应该使用 SM321-7BH 的中断输入模块,其响应频率最大 1000HZ。
34. OB100 问:OB100 是暖启动功能块,S7-300 的 CPU313C-2DP 应该只有暖启动,我在 OB100 里编写了 最简单的程序,即:常闭输入 M1.0 输出 M2.0。为什么不能在线监视。
我的理解是:在启动 CPU 后应该有输出 M2.0. 答:OB100 只是用来做 CPU 上电初始化的,你不妨在线监控一下就能观察到,软件界面下部 的状态进度条(绿色)的状态是静止的,是因为上电初始化 OB100 中的程序扫描一个周期后 就进入 OB1 中的程序循环扫描了。然后你可以用软件的变量表进行监控或置位观察变量的状 态。
35. 有关 pid 的疑惑
问:我记得 pid 控制是计算出偏差 E 后,用放大、微分、积分的方式算出 pid 的输出值,,
然后加在当前的输出上,但看到 fb41 的帮助,好像并没有加,而是直接的输出,在实验中的 感觉也是这样。,稍微有一个偏差,输出就变成 100 或者 0,请教高手有没有什么好一点的 方法让 pid 更稳定一些,以免阀门总是在动作?
答:PID 只是过程控制的算法。 按你所说,输出频繁波动形成陡升降输出曲线:
1、是比例的作用太大和缺少积分作用造成。
2、输出的量程是否对应阀的驱动量程。
3、给定值和测量值的量程是否一致
36. fb41 与 sfb41 的区别
问:编程时在 libraries 目录下(不知是否这样叫),有 stdlibs 和 standard libraries 两个子目录中都可以找到 sfb41 ,这两个东西有何区别,另外在 standard libraries 中在 pid control blcok 目录下还可以找到 fb41,不知这个 fb41 与上述两个 sfb41 有何区别, 我本以为自己编的是 fb,系统提供的应是 sfb,真搞不懂,请各位赐教。谢谢。
答:FB41 和 SFB41 功能完全一样。
SFB41 是系统集成功能,只有 S7-300C 及 314IFM 这几种 CPU 中集成了。 FB41 则是通用功能块,可在任何 CPU 中运行。
37. 请教高手 MMC 卡的问题
问:现用 CPU314-DP,MMC 卡是 64K 的 但是程序块较多,所以提示 MMC 卡空间不够。 本人
有 32M 的 MMC 卡,不知可不可以用在 CPU314-DP 上? 我把原配 64K 的 MMC 卡放到读卡器里 却提示“未格式化”,那它原来是什么格式的呢?
答:1. MMC 卡作为 CPU 的装载内存(Load Memory),在为您的 CPU 选型 MMC 的时候,我们 建议您所选的 MMC 卡一定要大于等于您所选定的 CPU 工作内存的大小(work memor 在定购 以上产品时,PLC 本身不带有 MMC 卡,所以为了正常使用 PLC,您必须根据您工程项目实际 需求定购一个大小适用的 MMC 卡,如果您的 PLC 上未插入 MMC 卡,你是无法将 STEP7 中的程 序和数据下载下去的,同时你应当注意,不能带电插拔 MMC 卡,否则会丢失程序或损坏 MMC 卡。
2. 在 Simatic manager 中,选择一个程序块下载,则该块被下载到 MMC 卡中,如果在窗口 左边的树型图中选中 Block 文件夹进行下载,则所有的块被下载到 MMC 卡上,MMC 中原有的 信息将被覆盖,向 MMC 卡读写数据或下载程序的次数不受限制。
3. 除过 CPU 中集成的 SFB/SFCs 块外,MMC 当中其他的块可被在线删除。
4.对某些 CPU 用新版 MMC 卡(6ES7 953-XXX10-0AA0)替代旧版 MMC 卡(6ES7 953-XXX00-0AA0) 时需要升级 PLC 的 OPERATING SYSTEM。升级时需要使用 PG(6ES-0XA0)或带 USB 口的编程器(6ES-0XA0),通过 STEP7 MANAGER 窗口中的菜单功能“PLC/UPDATE OPERATING SYSTEM ”将 CPU_HD.UPD 文件写到 MMC 卡 上, CPU_HD.UPD 文件可 以在 www4.ad.siemens.de 网站上下载得到。
5. y),最好比工作内存大一些,但如果您的应用中,PLC 工作时要使用大量的过程数据, 历史数据,配方数据等或控制工艺中存在较多的用户程序块、STEP7 中的应用功能块(如 FB41、FB42 等)时,建议选用 2-8M 的 MMC 卡,但请注意只有 314、315-2DP、C7 系列的
PLC 支持 8M 的 MMC 卡。
6.MMC 卡是装载内存,所以不能够在上位机中的组态软件中直接读取 MMC 卡上的数据值(DB 块中的数据),组态画面读取的是 PLC RAM 内存中的数据。
7. 在西门子的 PLC 上必须使用西门子专用的 MMC 卡,如下表中所列出的,不能使用数码相 机、移动电话或 PDA 等数码产品使用的通用型 MMC 卡。
The order numbers for MMC cards are in the following table: Micro Memory Card / S7-300 Order number
64 Kbytes 6ES7 953-8LF11-0AA0
128 Kbytes 6ES7 953-8LG11-0AA0
512 Kbytes 6ES7 953-8LJ11-0AA0
2 Mbytes 6ES7 953-8LL11-0AA0
4 Mbytes 6ES7 953-8LM11-0AA0
8 Mbytes 6ES7 953-8LP11-0AA0 38. 可以在原有的工程中修改 CPU 的型号吗
问:我在组太时用的是 STEP7-V5.2 , 但使用的 CPU 版本比较新 , 我现在才知道 , 不知 该怎么修改,请大家帮忙,谢了
答:同型号不同版本的 CPU 可以直接替换,直接从库里选中你需要的 cpu 拖到机架上替代原 来的 cpu 就可以了。不同型号的 cpu 如果替换的话,需要先将旧的 cpu 删掉,再插入新的, 但是它会提示你是不是要删除原来的程序,你选择“否”就可以了。
39. 格雷码的转换
问:我的 CPU 是 313C,使用 SM338 读入格雷码后,想转换成二进制数,有大虾有程序吗? 请多指教。
答:格雷码的转换方法:
某二进制数为: Bn-1 Bn-2 …… B2 B1 B0 其对应的格雷码为:Gn-1 Gn-2 …… G2 G1 G0 其中最高位保留: Gn-1=Bn-1
其它各位: Gi=Bi+1 XOR Bi i=0,1,2 …… n-2 例如:
二进制:10110 对应的格雷码为:11101
而格雷码转换为二进制时,方法如下:
B0 = Gn-1 XOR Gn-2 XOR …… G1 XOR G0
B1 = Gn-2 XOR Gn-3 XOR …… G1 XOR G0
Bn-1=Gn-1 40. 关于双机热备的问题,
问:请问一下,两个 H 系统 400CPU,进行双机热备,用四个同步模块连接两个 CPU, 四个 模块需要在硬件组态上组态吗,如果组态,我怎么没有在程序里找到这个东西呀,需要下那 个补丁包?请高手指点
答:同步模块不需组态。但注意将同步模块插入 PLC 前,先设定上面的拨位开关。第一次用 的时候这个问题困扰了我很长时间。
41. 请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗 问:请问一下 400H,我在主站下载了程序,同时我也要在备用站下同样的程序吗?他们之
间如何知道那个是主主站的,那个是备用站的?是通过什么实现的, 2、我是分别对两个站
编程,还是在同一个站,使用它们之间的通讯网络进行下载程序
答:不用。 一次编程,一次下载,PLC 会自动同步程序的。 CPU 上有指示灯显示哪个是主, 哪个是备。
42. 请问 300 如何通过 CPU 模块上的开关,来清程序
问:300 如何通过 CPU 模块上的开关,来清程序。我看了手册有,但看不明白。
答:You can use the following procedure to delete the block on an MMC in the CPU: 1.The MMC to be deleted is slotted in the CPU.
2.In the SIMATIC Manager, switch to online mode via "View > Online" or by pressing the appropriate button.
3.In the Online window, you select the block folder.
4.Select all the blocks in the folder which you want to delete.
5.Click the "Delete" key on your PC keyboard (you can acknowledge the message that system functions cannot be deleted). 43. 求教从那里可以看到调用 SFC15 时,CPU 支持的最大数据长度
问:ppo10 是 pkw 通道 8byte,pzd 通道 6byte,是否可以在用 sfc15 写 dp 数据时直接写
14byte?cpu 返回错误码 80b1。
答:SIMATIC S7 系统的 CPU 通过用 STEP 7 程序的专用的 I/O 存取命令来寻址分散外围设备 模块的 I/O 数据。这些命令直接调用 I/O 存取或通过过程映像调用 I/O 存取。用于读和写分
散 I/O 信息的数据格式可以是字节、字或双字。
然而,有些 DP 从站模块有更复杂的数据结构。它们的输入和输出数据区域有 3 个字节或大
于 4 个字节的长度。这些数据区域也称为相连续的 I/O 数据区域。在使用相连续的数据区域
的 DP 从站的参数集中,参数“Consistency”必须设置为“Total Length”。 对于连续的数据,输入和输出数据不能通过过程映象来传送,也不能用通常的“I/O 存取命 令来调用数据交换。原因在于对 DP 主站上的输入/输出数据的 CPU 更新循环。DP 输入/输出 数据的更新只能由 DP 主站与 DP 从站间的循环数据交换(总线循环)而确定。因此,从 DP 主站来的数据或到 DP 主站的数据可能已经在寻址的 DP 从站 I/O 数据的一条 STEP 7 存取指 令与下一条 I/O 存取指令之间被更改了。由于这个缘故,仅对用户程序用字节、字或双字命 令无任何中断地编址的 I/O 结构和区域才能保证数据的连续性。
对于复杂功能的 DP 从站,如闭环控制器等,它们通常不能用简单的数据结构来完成这些任 务。这些 DP 从站需要更大的输入和输出区域,而且在这些 I/O 区域中的信息常常时相连不 可分割的。因此,它们不能用字节、字和双字的结构来存储。这样的数据区域称之为”连续 的“。在一个输入/输出模块内,用组态报文可以指定长度可达 64 字节或字(128 字节)的 数据区域。为了对这些相关的模块读或写信息,必须使用 DP 从站的连续的输入/输出数据区 域和特殊的功能。在 SIMATIC S7 中,系统功能 SFC14 DPRD_DAT 和 SFC15 DPWR_DAT 是为此 目的保留的。
44. 安装了从网上下载的 STEP7 V5。2 软件后,为何在通讯中找不到 CP5611 卡 问:从网上下载了 STEP7 V5。2 软件后,在机上安装完整后,发现新建的文件中没有不能用
CP5611 卡进行下载程序,不知何故?
答:你换个 PCI 插槽试一下!看看。以前我也遇到过,我原来的 CP5611 卡插到一个插槽, 然后更换插槽后 CP5611 卡没有被读到,我在硬件中删除未知设备后,换到原来的插槽就好 用了!
45. 询问 FM350-1 的问题
问:我用一个脉冲发生器产生脉冲数,可 step7 程序监测时发现信号没有采集到?硬件接线
为 1 为+24V,2、3、20 为 M,4 为+5V,5、6 分别为脉冲 A 的正和负。这样接线没错吧?请 问 4 为+5V 或为+24V 的含义是什么?
答:编码器需要 FM350-1 供电的情况下可选择 5v 或 24v 输出。 如编码器为 5v 编码器,则 选择 5v 输出,否则选择 24v 输出。侧面的开关一定对应编码器的电压等级,否则容易损坏 HSC!
46. 一个 cpu314 挂两个 cp340,如何调用 FB2 及其背景数据块
问:一个 cpu314 挂两个 cp340,如何调用 FB2,及其背景数据块?如题,都用 FB2 和 FB2 的背 景数据块呢,还是改变 FB2 的 NAME 和背景数据块? 用一个 FB2 和同一个背景,总会有一个 数据是不正常的,不知为什么?请指教?
答:如果程序逻辑不当,同一个背景数据块会出问题的。要使用不同的背景数据块。强烈建 议你把 FB2 和背影数据块同时改掉,即每个 CP340 有各自的 FB2 和背景数据块,这样效果非 常好。不会有程序上的冲突。
47. 请教一个问题
问:我在硬件组态中把 CPU 的类型改了,结果我编的程序没有了。 出现一个 S7 program 新 的文件夹。请问原来的程序还能恢复吗!
答:你改 CPU 的类型时是否是先删除后添加?如果是“删除”的话会有对话框弹出询问你是 否同时删除程序或“否”,如果你选择了“是”的话那么就无力回天了,如果选择“否”的 话所编程序将保留,但不与你新的硬件组太连接,你可直接拷贝到新硬件的 PROGRAM 内即 可。
1.01 Mb. Date conversion28.09.2011Size1.01 Mb.Type, Educati

我要回帖

更多关于 气体释放指示灯 的文章

 

随机推荐