第三十七篇,每个人都是自己的大IP!

保护知识产权,从simulink说起。

模型保护

如果一个模型或者一个模块,凝结着你的智慧和汗水,那它就是你的宝贵财富,下面我们来说说怎么保护我们这笔无形的财富。(本文的MATLAB版本是R2021b)

首先打开我们的simulink模型,并找到菜单栏的SIMULATION,点击Save右侧的下拉小三角,在展开的列表里选择Protected Model...,如下图:

然后会弹出为我们的模型创建保护模型的窗口如下所示:

在这个窗口里要注意,偏下方的Contents选项里,我们不选默认选项,要改成Protected model (.slxp) only,即只生成保护模型.slxp文件,而默认选项还会加入一堆什么什么的依赖并且生成的是什么.mlproj文件,虽说保护了模型,但也给模型的使用引入了障碍。

在上图中点击右下角【Create】按钮,稍等一下下,受保护的模型就出来了,文件名与原模型同。

另外,通过菜单栏【APPS】->【Embedded Coder】->【C CODE】->【Share】->【Generate Protected Model...】也可唤出上图窗口。

接下来就是对受保护模型的使用了。保护不是单一目的,受保护状态下的分享才是最终的追求,.slxp做的就是这样的事情,它把内部逻辑隐藏起来,只暴露输入输出接口,类似C/C++的DLL,在用到这个模块的时候,我们只需要首先把.slxp拷贝过来,然后在模型中拉一个Model模块,双击进去,点击【Browse...】,在弹出的对话框中选择所需的.slxp文件,然后OK即可。

如下面两张图所示,上面一张是我用Model引用.slxp的简单示例,可以看出来,我保护的模型有两个输入一个输出,当然实际工程中要配套相关文档,说明输入输出的含义、模块的功能等;下面一张是Model模块内部的具体设置,可以看到【Browse...】按钮在里面,我的保护模型叫做Test1.slxp。

.slxp是无法被打开去看内部细节的,它被保护了,无论是点击上图的【Open Model】还是用别的什么方法,都是打不开的,这即是对原作的保护。

不过也不是什么都看不到,双击Model模块或点击上图的【Open Model】,弹出如下窗口,里面是对我们引用的slxp的说明,点击图中红框里的超链接,还会弹出该slxp的模型配置界面,当然也是只读的。

有一点要注意哦,使用了slxp的模型,可以在MALTAB环境下正常运行,但就不能再生成代码了哦,因为生成代码后也相当于看到了实现细节,这是背离“保护”的初心的。

低一些的版本操作步骤有些不同,比如:
把要保护的模块先生成subsystem,然后在subsystem上右键Subsystem & Model Reference->Convert to->Referenced Subsystem...
还有什么什么在subsystem上右键Subsystem & Model Reference->为所选Model模块创建受保护模型,

再然后就进入了同样的生成slxp的界面,后续操作相同。 

m文件保护

m文件也可以做保护。

假设我们写了一个脚本TestWhat.m,里面实现了一个什么什么功能,有一个输入叫in一个输出叫out,对它也可以做保护,在MATLAB命令窗口输入pcode('TestWhat.m')命令即可,生成同名的.p文件,然后原m文件就可以删除了。

如此这般同样不支持code generation,除非在原m文件中加入这么一句话:

coder.allowpcode('plain');

不过这样也达不到保护的目的了,因为生成的代码中也就有了实现细节。

pcode命令同样支持文件夹参数,即对文件夹中包含的全部m文件做保护。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值