2019年1月19日 | 分类: C# | 标签:

一、简述

在做项目的过程中要用到 WindowsForm PropertyGrid 控件,不过控件显示出来的属性是英文,想要显示出来的是中文,那么在类的属性上面加上一个 DisplayName 特性就行了。但是,因为某种情况要动态的修改控件显示出来的中文,怎么办?

二、内容

首先先编写一个实验类

阅读全文…

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » C# 动态为类的属性添加或修改其特性值[转]
2019年1月8日 | 分类: C# | 标签: ,

原文链接 https://www.cnblogs.com/jayhust/p/5812747.html

1.我们先新建一个FreeSCADA的工程实例,看下实际的存储效果:

a) 建立几个数据通道作为数据源(Communication菜单编辑,Channels Tree下显示):

clip_image001

b) 建立一个数据库存档(工具栏的Archiver Settings):

clip_image003

c) 定义数据库连接属性(Project菜单下的Database settings子菜单):

clip_image005

d) 编译项目,并运行,查看数据库存储结果:

clip_image007

2.存储过程探究(FreeSCADA2解决方案下的Archiver工程):

我们主要分析Archiver工程下Archiver.cs文件内的的几个方法:

Start方法:

public bool Start()

{

dbWriter = new DbWriter();

if (dbWriter.Open() == false)

return false;

channelUpdaterThread = new Thread(new ParameterizedThreadStart(ChannelUpdaterThreadProc));

channelUpdaterThread.Start(this);

dbReader = new DbReader();

if (dbReader.Open() == false)

return false;

return IsRunning;

}

ChannelUpdaterThreadProc方法:

private static void ChannelUpdaterThreadProc(object obj)

{

ArchiverMain self = (ArchiverMain)obj;

try

{

for (; ; )

{

//System.Console.WriteLine("{0} ChannelUpdaterThreadProc: Start loop", System.DateTime.Now);

foreach (Rule rule in self.channelSettings.Rules)

{

if (rule.Enable)

{

foreach (BaseCondition cond in rule.Conditions)

cond.Process();

if (rule.Archive) // 判断是否需要将本规则下对应的各个数据通道数据存入数据库(通过判断是否使能了本项存储规则、并且存储规则对应的存储条件的参数:间隔时间是否已经到了)

self.dbWriter.WriteChannels(rule.Channels);

}

}

Thread.Sleep(100); // 线程休眠100ms。所以FreeSCADA的查询各个数据通道的间隔就是100ms。

}

}

catch (ThreadAbortException)

{

}

if (self.dbWriter != null)

self.dbWriter.Close();

}

Stop方法:

public void Stop()

{

if (channelUpdaterThread != null)

{

channelUpdaterThread.Abort();

channelUpdaterThread.Join();

channelUpdaterThread = null;

if (dbWriter != null)

dbWriter.Close();

}

if (dbReader != null)

dbReader.Close();

}

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » [转]FreeSCADA的数据库存储方式(Archiver)探究[MySQL为例]
2018年6月13日 | 分类: 电气设计 | 标签: , ,

鉴于我们大部分项目都采用PlantPAx工具来进行编程,往往调试过程中配置每个仪表和执行机构就成了一个很费时的步骤。附件是RA的PlantPAx的配置工具,能快速进行设备的配置。下面是一个简单的使用说明。

1.在RSLinx里面新建一个Topic

Catch(06-13-17-53-37)

2.指向CPU

Catch56FD(06-13-17-53-37)

阅读全文…

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » PlantPAx 在线配置工具
2018年3月30日 | 分类: 电气设计 | 标签: , , ,

介绍

报表作为一种信息组织和分析的有力手段,是工厂生产和管理的重要组成部分,本方案综合利用了 FactoryTalk View SE 组态软件的数据采集、SQL SERVER 数据库软件强大的数据组织处理能力以及 Excel 丰富灵活的数据表现形式,制作可靠美观的各种报表,解决 View SE 在实际应用中对复杂报表支持的不足。大体思路如下:

l 通过 View SE 组态软件将 PLC 中或通过 OPC 通讯而来的数据采集至上位画面。

l 利用 View SE 的 DataLog 文件将数据自动定时推送至 SQL SERVER 数据库。

l 在 SQL SERVER 中利用 VIEW 视图功能组织需要的数据。

l 通过 Excel 的数据表导入功能将 SQL SERVER 中的数据导入 Excel 生成报表,并可利用 Excel 数据透视表功能制作复杂格式的报表(建议 Excel 2007 以上版本)

clip_image002

阅读全文…

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » FT View SE 报表解决方案-SE 结合 SQL SERVER 和 Excel 实现报表功能
2018年2月5日 | 分类: 电气设计 | 标签: , , ,

光口上行链路(SFP)

1783-SFP100FX 100 Base-FX多模收发器

1783-SFP100LX 100 Base-LX单模收发器

1783-SFP1GSX 1000 Base-SX多模收发器

1783-SFP1GLX 1000 Base-LX单模收发器

1.从光头分辨 拔下光纤收发器光头防尘帽 看光头里面接口器件颜色,单模的TX和RX接口的内侧涂有白色陶瓷.,多模接口是棕色的。

2.从型号来区分:一般看型号里面是否有S和M,S表示单模,M表示多模。

3.如果已经装上使用,则可以看光纤跳线的颜色,桔红色是多模的,黄色是单模的

阅读全文…

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » AB管理型交换机光纤相关选型
2017年11月15日 | 分类: 电气设计 | 标签: , , , ,

以下为服务器配置,多图预警。

1.安装Windows server 2012 R2

clipboard

我安装的是英文版,wonderware historian支持多国语言,同样支持中文版操作系统。

Datacenter安装密钥BH9T4-4N7CW-67J3M-64J36-WW98Y

clipboard[1]

选择with GUI版本

阅读全文…

版权所有©转载必须以链接形式注明作者和原始出处:纪小年 » Wonderware Historian 服务器配置全攻略