西门子代理|一级代理|PLC模块代理商

发布
浔之漫智控技术(上海)有限公司
品牌
西门子
型号
模块
产地
德国
电话
15821971992
手机
15821971992
发布时间
2023-07-19 17:06:40
产品详情
西门子S7-300PLC子程序调用中的参数传递

下面是我在西门子的一个资料里找到的有关FC的基本数据类型的参数传送机理的图:

下面是有关的文字说明:
传递机理 
        随着调用指令CALL,STL/LAD/FBD编辑器首先根据参数列表中给出的实际参数,计算交叉区域指针,并在FC调用指令之后立即存贮这些指针。
  此时,如果在该FC内部访问形式参数(比如:A On_1),CPU就根据存储在B堆栈中的返回地址确定该FC调用指令。然后根据相关的参数列表,FC就可确定与形式参数对应的实际参数的交叉区域指针。于是,通过这个指针就实现了对实际参数的访问。
  这种传递机理与”按引用调用”相一致,如果在某一FC中访问了形式参数,那么,结果也访问了相应的实际参数。 .
  这种通过指针的访问机理要求:
  在FC调用中,所有的块参数都必须赋值。
  在参数声明里,不能对块参数进行初始化。
注意事项
        如果是用DB中的实际参数来对块参数进行赋值,或者传递的是复杂类型参数,那么,参数传递将变得更加复杂。
下面的文字来源于STEP7的FC的在线帮助:

  将实际参数分配给形式参数:
FC所使用的输入、输出以及输入/输出参数作为指针保存到调用FC的逻辑块的实际参数中。
通过地址(指针跨过区域边界指向目标)访问FC参数。当数据区(数据块)地址或调用块的局部变量用作实际参数时,实际参数的副本将临时保存到用于传送参数的调用块的本地数据区中。

如何阻止PLC程序下载

plc为西门子S7-400,如何防止别人把程序下载到PLC中,钥匙开关打到RUN模式的方法不用提了。有没有其他方法? 另外一个,如何给FC功能块加锁。
答::如何给FC功能块加锁?
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. 现在就完成了您程序块的加密保护;

第二:给CPU加密
步骤:
1,打开STEP7程序,然后打开硬件管理器;
2,打开PLC的CPU属性;
(打开方法:双击CPU或右键,选择Object Properties)
3,在打开的属性对话框中选择Protection项;
4,选择2或3,在password和Enter again中输入密码;
5,点击OK,然后编译硬件,下载到PLC。

关于Protection的选择,打开时默认为1,也就是无保护(或者keyswitch setting);你选择2(写保护,此保护么有密码不能在线写入程序,只能读取),或3(读写包括,此保护没有密码不再能在线读写程序)。
你要的是写保护,所以确切的说应该选择2.


浔之漫智控技术(上海)有限公司

联系人:
聂聪(先生)
电话:
15821971992
手机:
15821971992
地址:
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
邮件:
2724917714@qq.com
行业
工控系统及装备 上海工控系统及装备
我们的其他产品
一级代理相关搜索
拨打电话 请卖家联系我