S7-300的n个常见问题解答之八 点击:10770 | 回复:72



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-12-12 14:51:00
楼主
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 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内进行间接寻址? 请参照: [url=http://download.gongkong.com/file/2005/12/12/pp.rar]在DB内进行间接寻址例子[/url] 147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能? [url=http://download.gongkong.com/file/2005/12/12/cpu315.rar]siemens指针寻址例子_cpu315[/url] 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字符存储在字符串的期望位置。 示例: L 字节年 SLD 12 SRW 4 SRD 8 L W#16#3030 + I T 数字字符年 也可以用相反顺序将一个STRING格式的日期/时间字符串转换为一个DATE_AND_TIME变量。



人在他乡

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 83回
  • 年度积分:0
  • 历史总积分:196
  • 注册:2004年8月24日
发表于:2007-01-07 11:21:00
41楼
太感谢了!激情如火你是个无私的高人!

psu

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 28回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2006年12月23日
发表于:2007-01-07 13:57:00
42楼
无私

RAK

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 25回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2004年12月13日
发表于:2007-01-07 17:46:00
43楼
好东西!多发点上来!

栀子

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:63
  • 注册:2006年4月21日
发表于:2007-01-08 15:43:00
44楼
好东东,顶……

渐渐明白

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 128回
  • 年度积分:0
  • 历史总积分:600
  • 注册:2006年12月19日
发表于:2007-01-08 15:53:00
45楼
好东西就要共享!

迟到

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2006年6月22日
发表于:2007-03-18 18:04:00
46楼
能告诉我这是什么原因吗  我做了个FC保存时弹出的窗口 说
     块接口已经改变.在保存/装载后,这会导致参考它的块产生接口冲突.载入此块后,cpu 可能进入stop模式.

ABB圈子

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 374回
  • 年度积分:7
  • 历史总积分:2056
  • 注册:2006年4月06日
发表于:2007-03-18 21:16:00
47楼
  广州科盈 朱应川 020-61210777-850/13682225867 QQ:513269437

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2007-03-19 10:03:00
48楼
to:迟到
如果您改变了块接口结构,您需要在所有调用该块的地方重新调用一次。否则就不用管提示的信息。

迟到

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2006年6月22日
发表于:2007-03-19 20:42:00
49楼
非常感谢如火老师,能否解释一下块接口结构.多谢.或复制解释文字到我的电子信箱 csg3781@yahuu.com.cn 不胜感激.

学以至用

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 36回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2007-03-22 12:34:00
50楼

fff02342

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2005年9月02日
发表于:2007-05-03 20:28:00
51楼
非常非常感谢

fff02342

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2005年9月02日
发表于:2007-05-04 22:23:00
52楼

皇战士

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2006年6月17日
发表于:2007-05-07 14:20:00
53楼
没话好说
顶~~~~~~~~~~~~~~~~~~~~~~~~

supman

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 444回
  • 年度积分:0
  • 历史总积分:525
  • 注册:2006年11月16日
发表于:2007-05-07 16:02:00
54楼
谢谢

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2007-07-09 11:06:00
55楼
看到很多网友问仿真监控方法,下面再补充一个。 wincc怎样和s7plc-sim连接? 要访问PLCSIM模拟软件,必须按如下方法操作,按照以下的顺序来安装程序: STEP 7 V 5.x PLCSIM V4.x以上 WinCC V5.x 选择用户自定义安装。 对于SIMATIC WinCC V5 SP1及以下版本的用户,在“通讯”组件下,必须选择“S7Dos”和“对象管理器”组件。 对于SIMATIC WinCC V5 SP2及更高版本的用户,“S7Dos”是自动安装的。就是说不再需要在“用户自定义安装”下选择该选项。在PG/PC界面上做如下设置:在控制面板中双击“设置PG/PC界面”。在“应用程序的访问点”域中,选择“MPI (WinCC)”。在“使用的界面参数”域中选择“<无>”。启动应用程序STEP 7: 启动SIMATIC管理器 启动PLCSIM 打开要模拟的项目或组态一个项目。 在项目中添加一个OS。 在PLCSIM中加载项目。 启动WinCC并创建一个新项目或打开已有的项目。 WinCC 添加“SIMATIC S7 PROTOCOL SUITE”到变量管理器。 在MPI下添加一个新连接。 右击该连接然后选择“属性”。 点击“属性”按钮。 在“连接”标签中指定MPI地址和已在STEP 7中组态好的CPU的插槽。 确认所做的指定。 激活WinCC项目。 进入“开始 > SIMATIC > WinCC > 工具 > 通道诊断”。在“通道连接”下可以显示连接的状态。 如果连接没能设好:在WinCC资源管理器中的“系统参数 - MPI > 单元”中,启用选项“自动设置”。 在“系统参数 - MPI > 通道”中,取消“使用PLC的循环读取服务”选项。

天天秦

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 82回
  • 年度积分:0
  • 历史总积分:647
  • 注册:2002年2月03日
发表于:2007-07-19 13:55:00
56楼

如一

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 31回
  • 年度积分:0
  • 历史总积分:88
  • 注册:2007年7月05日
发表于:2007-07-23 11:14:00
57楼
学习学习

czl123

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 143回
  • 年度积分:0
  • 历史总积分:197
  • 注册:2005年10月28日
发表于:2007-08-24 20:50:00
58楼
辛苦了

独斟

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2007年5月15日
发表于:2007-09-22 20:46:00
59楼
西门子CPU314,如何设置当突然断电后,再次上电是对过程数据的保存。

chenanu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:194
  • 注册:2008年10月17日
发表于:2008-11-27 15:03:41
60楼

和PLC能ping通,硬件组态是正确的,但是下装的时候提示“协议错误”。是什么原因啊?

这和MMC卡没有插,有关系吗?


热门招聘
相关主题

官方公众号

智造工程师