摘要:定义 ModemManager 调度管理类ModemManager 类用于对所有 Modem 对象进行管理和调度使用。ModemManager 类代码如下:using System;using System.Collections.Generic;using System.Text;using System.IO.Ports;using System.Threading;namespace RequestResponse001CS{ // 拨号器管理者 public class ModemManager { //已经安装了拨号器的串口对象 priv...
阅读全文
摘要:首先,定义 CommandInfo结构体结构体 CommandInfo 用于保存当前 AT 指令的相关信息,代码如下: enum CommandDirection { None = 0, Read = 1, Write = 2 } enum CommandKey { None = 0, AT = 1, ATD = 2, ATH = 3, AT_CFUN = 4 } struct CommandInfo { public...
阅读全文
摘要:背景:随着公司的业务迅猛发展,导致部分数据表的数据量剧增(T_ZK_C0075ALog、T_ZK_C007ALog),无法满足用户对查询效率、性能的要求。 意义:在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外,对置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。 事实上,在SQL Server 2005 中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Server 2008 中,分
阅读全文
摘要:为了方便公司的普通员工,简化每个人每个月的个人考勤记录数据核对工作,特地抽出空余时间制作本考勤表生成工具,以方便本公司广大草根阶层,节省琐碎和无辜的时间浪费!一、工具界面考勤表生成工具的设计界面与使用说明如下图所示:二、生成结果生成的 Excel 考勤表结果如下图所示:三、工具特性优点:1、本工具只需要添加个人信息、异常考勤记录即可,无需填写正常考勤的数据,简化了录入操作;2、本工具根据使用者本人操作系统的日期,自动计算和显示当月的日期数据,简化了日期的选择;3、本工具根据用户的数据,自动生成Excel 考勤记录表,省去了表格制作和手动填充数据的事宜;4、本工具为绿色版本,无需安装,没有多余.
阅读全文
摘要:Modbus 是一个工业上常用的通讯协议、一种通讯约定。ModBus 协议是应用层报文传输协议(OSI 模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus 协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus 协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus 有下列三种通信方式:1. 以太网,对应的通信模式是Modbus TCP。2. 异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是 Modbus RTU 或 Modbus ASCII。
阅读全文
摘要:在工控应用上,返回的数据经常会以二进制的形成存储,而这些二进制数据又是以每4个bit表示一个十六进制的数据内容。解析的时候,往往是一个字节(Byte)占用8个位(bit),高位4bit 表示一个十六进制数据,低位4bit 表示一个十六进制数据。问题描述:在SQL Server 数据库中,如何实现二进制数据与字符串数据之间的直接转换?一定会有人立马反问我:为什么不在程序中使用 C# 或者 JAVA 或者 C++ 来处理这个业务呢?我的回答是:这个我知道,也已经实现了。但在一些特殊的应用环境和业务需求面前(如:对数据的统计、对数据的分析),我必须这么做!SQL Server 数据库中,实现 var
阅读全文
摘要:在第一版 使用C# 实现串口拨号器的SIM卡通信 的代码中,存在一些实际的问题,经过反复测试和实际使用,对原代码进行了一些改进。首先,博客园的ㄟ荖樹炪厊ㄖ同学提出将拨号指令ATD发出后,不必使用 Thread.Sleep(20 * 1000) 方法等待20秒后进行挂机,而改用AutoResetEvent来处理,不必让线程死等,也能提高你程序的性能。但修改后效果并不理想,还是使用Thread.Sleep(20 * 1000) 方法快捷实用。其次,由于拨号器以及服务器等硬件设备的差异,导致反馈信息的速度不一致,以前采用Thread.Sleep() 方法绑定固定秒数然后查看返回信息的方式存在一定的问
阅读全文
摘要:写此博客意为抛砖引玉,希望能和博客园的朋友们探讨一下关于.NET 在工业方面的应用,包括:物联网、无线通信、嵌入式开发、工业控制等等。欢迎探讨,多多指教!^_^下面是我在开发中,使用C#代码实现对安装在COM 串行端口上的SIM卡拨号器的拨号调度程序。应用场景:在使用新能源的风光互补路灯远程管理系统中,通信服务器需要通过无线通信方式唤醒上位机。> 上位机中内置GPRS 无线上网卡,被安装在风光互补路灯中。> 通信服务器上扩展出4个COM 串行端口,分别安装有:西门子C35TS 拨号器和西门子MC52I 拨号器。使用需求:> 监控中心跟上位机进行通信前,对没有连接上的上位机先使
阅读全文
摘要:BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代 码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因 为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时 间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。来源:http://baike.baidu.com/v
阅读全文
摘要:工作需要,今天上午花时间看了一下INI 配置文件的相关文章,并添加到项目中。后来想想,干脆封装成DLL 动态库,并提供给大家使用,顺便更新一下博客。^_^INI 配置文件的格式 在早期的Windows 桌面系统中,主要是用INI 文件作为系统的配置文件,从Win95 以后开始转向使用注册表,但是还有很多系统配置是使用INI 文件的。其实,INI 文件就是简单的text 文件,只不过这种txt 文件要遵循一定的INI 文件格式。“.ini” 就是英文 “initialization” 的头三个字母的缩写;当然INI file 的后缀名也不一定是".ini"也可以是"
阅读全文
摘要://打开一个空的ExcelMicrosoft.Office.Interop.Excel.Applicationapp=newMicrosoft.Office.Interop.Excel.Application();app.Workbooks.Add(true);app.Visible=true;//打开一个已经存在的Excel文件Microsoft.Office.Interop.Excel.Applicationapp=newMicrosoft.Office.Interop.Excel.Application();app.Workbooks.Add(路径和文件名);app.Visible=tr
阅读全文
摘要:(1)子角色的分类子角色分为三类:字段值、字段、数据表。下面就三类子角色的实现进行说明。(2)字段值类(数据行)子角色的实现如上图所示,是子角色2的字段值类子角色权限的记录。RITEM是“资源项”字段。字段类的“资源项”的编码规则为第1位是大写英文字母“V”,表示资源类型,属于第一部分。随后的一位或者多位大写字母表示数据表简码,是属于第二部分。比如上图的“VI12”和“VI17”的第2位是“I”, 该数据表简码I,从T_ZK_RESOURCE资源表查到是T_ZK_PROJECT 项目表。最后的一位或者多位数字表示该资源顺序号,是属于第三部分。比如上图的“VI12”和“VI17”的数字12和数字
阅读全文
摘要:在 Google 地图的使用上,我需要根据数据库中控制命令表(T_ZK_CtrlMsg)的记录行数,控制某一发送指令面板DIV是否显示。指令面板DIV的代码如下:<divclass="monitor_show"> <divid="DIV_Map"style="width:712px;height:456px;"></div> <!--透明浮出层--> <divid="jmp_show"class="jmp_show"> <b>
阅读全文
摘要:一、首先引用 JavaScript 和 CSS 文件:<scripttype="text/javascript"src="superTables.js"></script> <linkhref="superTables_Default.css"rel="Stylesheet"type="text/css"/>二、添加自定义的 CSS 样式:<styletype="text/css">.gridcell{padding:5px;}
阅读全文
摘要:使用ExcelHelper 封装类,将DataSet 输出成Excel文件的多个Sheet 页。使用代码如下: publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){btn.Click+=newEventHandler(btn_Click);Button1.Click+=newEventHandler(Button1_Click);}voidButton1_Click(objectsender,EventArgse){vards=newDataSet();var
阅读全文
摘要:直接将DataSet 输出成 Excel,这样解决了网格控件只显示分页的部分数据的问题。IntroductionI did this when I wanted to do a quick export of an entire DataSet (multiple tables) to Excel. I didn't add any additional customization to the fields, but I did want to make sure that dates, boolean, numbers, and text were all formatted co
阅读全文
摘要:由于项目需要,必须实现将ASP.NET 中的网格数据或者数据集中的数据导出成Excel 文件。在博客园里寻找了一阵子,发现几篇不错的文章:A. 林子的“Excel读写管理类库ExcelManager” 对Excel文件的读写不错 ExcelManager -- 基于.Net的Excel读写管理类库(一) ExcelManager--基于.Net的Excel读写管理类库(二)B. henry的基于EXCEL 的WEB 报表输出组件 也不错, 只是IE的安全设置不允许运行未标记为安全的activeX控件,需要更改IE的安全设置。C. 如果只是将页面“网格控件”当前页所显示的数据导出成Excel .
阅读全文
摘要:我知道:这类工具在网上已有不少。但下载后一试用,很是不爽! 要么过于庞大,使用起来比较复杂,似乎杀鸡焉用牛刀; 要么太过简单,使用起来难以满足我的需求。而此工具要做到既小巧,又实用,可谓之“众里寻他千百度,摆渡百度无觅处” ^_^No way out, do it yourself ! so, 有了下文 。。。根据实际需求,站在用户角度,编写了此工具。本人之此工具,不可谓...
阅读全文
摘要:试想:如果不使用数据库中的 view 视图,那么在三层结构的开发环境下,如何实现两表或多表( join table )联接查询所需要的显示结果呢?为了直观揭露实现办法的本质,于是在此弱化了一些操作步骤,如:配置文件保存连接字符串、数据访问类( DBHelper.cs )访问数据库等的具体实现。在本示例的数据库中:学生信息表(Students)与成绩表(Score)是一对多的关系( 1:N )。实体...
阅读全文
摘要:保存消息队列数据的本地磁盘地址:C:\WINDOWS\system32\msmq\storage注意: 1,要使用 windows 消息队列机制,必须在该 windows 操作系统中先安装“ windows 消息队列” 组件(从操作系统光盘中) ; 2,要使用启用消息队列,必须先启动“Messenger”服务(传输客户端和服务器之间的 NET SEN...
阅读全文