西门子博途编程-泛型和变长数组编程语言

咱俩领略在高档语言中广泛使用泛型,那么在PLC中是不是足以应用泛型呢?可以,但罗嗦。。

  本篇内容杂而简易,不需要多租户、不需要多语言、使用MPA(多页面)、页面加载速度提高……

控制要求

求数组中的最大值,数值类型包括Real和Int,大家这边选用两序列型,控制代码量。

刚报到系统会看到如下界面,这不是终极想要的功用,以下就相继来修改。

支配程序 一

语言 1

语言 2

array是传进来的数组,可以是Int或Real类型。但有大小限制,长度必须低于maxSize。后边咱们会写个无大小限制的次第。

次第相比简单,有多少个主旨大家简要说下:

第二行,必须用UDINT_TO_DINT,
因为背后的索引号需用DINT。最终输出的是泛型的数值,所有需要把maxElement设置为Variant,所以需要用VairantPut指令把相应的数值传出来。

此外,每类别型都亟需写相应的处理代码,PLC的泛型很罗嗦,代码量很大,其实跟PC的泛型有真相上的界别。

语言 3

决定程序 二

语言 4

语言 5

这一次大家用MOVE_BLK_VARIANT函数来去Variant
数组中的值,所以可以兑现真正的变长数组。最后把最大值通过VariantPut指令输出。指令的事无巨细表达可以看系统自带的手册。

 

决定程序 三

本条顺序只兑现变长数组,长度无限制.

语言 6

语言 7

看表达第二行,类型为Array〔*〕of
Int。另外请小心程序第1和2行,用了Lower_Bound和Upper_Bound三个函数。此外S7-1200的模拟器运行这些顺序出错,真机可以.S7-1500模拟器可以健康运行.

不需要多租户

AbpZeroTemplateConsts.cs代码修改如下

文本路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\AbpZeroTemplateConsts.cs

/// <summary>
        /// false为不启用多租户,默认为启用
        /// </summary>
        public const bool MultiTenancyEnabled = false;

 

使用当地时钟

Global.asax.cs代码修改如下

文本路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Global.asax.cs

protected override void Application_Start(object sender, EventArgs e)
        {
            //Use UTC clock. Remove this to use local time for your application.
            //Clock.Provider = ClockProviders.Utc;
            Clock.Provider = ClockProviders.Local;

 

修改登录后默认进入mpa

ApplicationController.cs代码修改如下

文件路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Controllers\ApplicationController.cs

public ActionResult Index()
        {
            /* 启用下一行以重定向到多页面应用程序 */
            return RedirectToAction("Index", "Home", new { area = "Mpa" });

            //return View("~/App/common/views/layout/layout.cshtml"); //Layout of the angular application.
        }

 

去掉多语言,保留简体中文本

进去系统设置简体要旨为默认语言

语言 8

_Header.cshtml文件代码修改如下

文件路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Views\Layout\_Header.cshtml

 

搜索 @if (Model.Languages.Count > 1),然后把这块代码删除掉

 

不使用Google字体,提高加载速度

 

jtable控件样式中会使用到谷歌字体,每一回访问都专门慢
1.打开jtable.css文件
文本路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\libs\jquery-jtable\themes\metro\blue\jtable.css

并注释掉谷歌有关的连天,然后保留

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  /*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTRa1RVmPjeKy21_GQJaLlJI.woff) format('woff');*/
}

 

2.打开StylePaths.cs文件
【..\MyCompanyName.AbpZeroTemplate.Web\App_Start\Bundling\StylePaths.cs】
把jtable.min.css替换为jtable.css,保存并转移

 

 最终,生成项目即可,再一次登录如下图所示

语言 9

 

 回到总目录

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图