- 博客(103)
- 资源 (4)
- 收藏
- 关注
原创 【转载】基于PC的工业控制系统的优缺点分析
---------------------作者:阿基米东来源:CSDN原文:https://blog.csdn.net/lu_embedded/article/details/50907378 过去一段时间,在工业控制领域形成有两个竞争阵线,有些说PC能很好地用于控制,而有些人说PC永远不适合用于工厂的环境。今天,这些竞争对手很容易接受PC机用于许多工业生产控制的现...
2019-04-26 11:45:05
1914
转载 【转载】浅谈c#语言的类,事件,对象,方法和函数的区别
版权声明:stay-the-course 来源:https://blog.csdn.net/stay_the_course/article/details/53044638在讨论这些关系之前让我们先来了解一下面向过程和面向对象的区别: 所谓面向过程就是把一切事物或者需要解决的问题都当做是一个过程来处理,而面向对象则是把一切事物当成一个一个的对象来处理,这两者有什么区别呢,举一个简单的例子...
2018-12-20 17:19:15
1880
转载 【转载】asp.net两层和三层架构
来源:网络两层模型: 两层模型的设计是显示层和数据访问层。显示层就是应用程序的用户界面(.aspx)和这些界面的代码隐藏类(.cs),数据访问层就是用来处理应用程序和数据库、外部Web Service等交互的。这是asp.net开发中的轻量级模型,实现起来相对容易,所以两层架构模型非常适合于业务逻辑简单的项目(呵呵,所以不要听到人家说三层的好就一股脑的啥子都用三层了。。。。)。...
2018-12-20 17:07:42
1154
转载 [转载]【职场新人必看】领导谆谆寄语
小孟: 你入职也有将近一个月了。再次欢迎你加入公司,加入我们这个团队。 近期我都会出差,无法与你面谈,所以写邮件给你。 昨天的会议上,对你太凶,这是我的不对,我首先道歉。(这个领导还是很有气度的,而且放得下架子)但是,我想你也一定做了反思,包括老吴后来肯定也跟你沟通了,你做的事情,确实有很多欠缺的地方。 这封邮件里,我想跟你说说,一方面能够给你带来提高,另一方面,花出来的时间,也算是对昨天凶你的补...
2018-09-29 19:40:23
989
原创 C++基础(13)类对象作为成员
类中的数据成员可以是基本数据类型,也可以是类对象这样的复合数据类型。 在一个类的数据成员中包含了另一个类的对象称为类的组合。这个被包含的对象称为对象成员或子对象。以下实例将日期类的对象作为学生类的成员:#include <iostream>using namespace std;class CDate ///日期类{ private:...
2018-08-06 17:53:23
758
原创 C++基础(12)友元
类的主要目的之一是实现信息的隐藏与封装,即类的私有成员在类的外部不可见,不能直接进行访问,只能通过对外的接口函数间接地进行访问。但这样往往会降低对私有数据成员的访问效率。 有时候,某些特殊的函数或类需要对这些私有成员进行直接访问,这时,就需要打破类的封装。这种能够对类的私有成员直接进行访问的外部类或外部函数被称为(类的)友元。 友元可分为友元函数和友元类。其中友元函...
2018-08-06 17:53:17
273
原创 C++基础(11)静态成员
一.静态数据成员 当一个类的多个对象需要进行数据共享时,可以通过静态数据成员和静态成员函数进行实现。 例如,学生人数是和每一个学生对象有关的(每次新建一个学生对象,学生人数都应该增1),但它又不能只属于某一个学生对象,这时就可以将学生人数说明成类的静态数据成员,以实现学生对象之间的数据共享。例程:利用静态数据成员统计对象个数……class CStu...
2018-08-06 17:53:12
429
原创 C#学习记录(48)MSSQL数据库操作小结
一.查询操作在对数据进行查询操作时,有两种情况:一个是查询单个值;二是查询若干条记录。1. 查询单个值需要使用Command对象的ExecuteScalar()方法,步骤如下:(1) 创建一个Connection对象。(2) 创建查询用的SQL语句。(3) 利用SQL语句和Connection对象创建Command对象。(4) 打开数据库连接,调用Connection对象的Open(...
2018-08-06 17:45:06
223
原创 C#学习记录(47)MSSQL数据库
引言 微软数据库是针对中小型企业的关系型数据库,操作简单易上手。首先介绍下C#.NET的数据库,以 ActiveX 数据对象(ADO)为基础 以 XML(扩展标记语言)为格式传送和接收数据: C#.NET应用程序 <----->ADO.NET<----->数据库程序中使用System.Data 命名空间。一. ADO.NET...
2018-08-06 17:00:35
1364
原创 C#学习记录(46)socket网口通信通用实例
关于socket通信的基本原理和方法在c#学习记录(46)中已经介绍了。下面将大多数书本上都会用到的例子来介绍一下:一.服务器端: private TcpListener objTcpListener;//定义一个TCP查询对象 private NetworkStream objNetworkStream;//网络数据流对象 privat...
2018-08-01 16:26:25
9647
1
原创 Halcon基础(4)霍夫变换
定义: 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一。几何形状包括圆,椭圆和直线等等.霍夫变换原理: 设图像上的直线是y=x, 我们先取上面的三个点:A(0,0), B(1,1), C(2,2)。可以求出,过A点的直线的参数要满足方程b=0, 过B点的直线的参数要满足方程1=k+b, 过C点的直线的参数要满足方程2=2k+b, 这三个方程就对应着参数平...
2018-08-01 15:56:54
4719
2
原创 Halcon基础(3)打开一张图像的几种方式
读取图像 :read_image打开图像窗口:dev_open_window获取图像尺寸:get_image_size显示图像:dev_display设置窗口句柄:dev_set_window合适的窗口:dev_open_window_fit_image(dev_open_window_fite_size)read_image (Image, '1')*打开图像窗口...
2018-08-01 15:56:46
7126
原创 Halcon基础(2)字符和数字操作
字符和数组操作: i1 := 123$'#o' //8进制,0为前缀i2 := 123$'#x' //16进制,0x为前缀,7b为赋值i3 := 123$'#X' //16进制,0x为前缀,7B为赋值,7b与7B是一样的i4 := 123$'#f' //double型,默认保留小数点后六位.i5 := 123$'#g' //使数字始终保持六位,不足补零.i6 := 1...
2018-07-31 11:27:32
8796
原创 Halcon基础(1)Tuple数组操作
Tuple数组操作: * 将一个Tuple数组赋值给变量Tuple1 := [1,2,3,4,5,6,7,8,9]*给Tuple数组元素赋值Tuple1[1] := 0* 批量改变数组元素的值Tuple1[1,3,5] := 'wh'* 批量给Tuple数组赋值,其值为0到10000连续数值Tuple3 := [0:100]* 批量给Tuple数组赋值,其...
2018-07-31 11:16:51
16025
原创 C#学习记录(45)socket网口通信基础知识
套接字简介:套接字最早是Unix的,window是借鉴过来的。TCP/IP协议族提供三种套接字:流式、数据报式、原始套接字。其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备问题,很少使用。套接字编程原理:延续文件作用思想,打开-读写-关闭的模式。C/S编程模式如下:Ø 服务器端:打开通信通道,告诉本地机器,愿意在该通道上接受客户请求——监听,等待客户请求——接受...
2018-07-31 10:14:16
3867
原创 C#学习记录(44-2)C#串口调试助手实例
1.设计程序UI界面如下:串口参数的设置可以是如上所述的自主选择,也可以写固定的。在实际工程上,一般写死,减少维护工作量。 2.添加业务逻辑第一步:初始化参数 /// <summary> /// 界面初始化 /// </summary> /// <param name="sende...
2018-07-31 09:30:09
4461
4
原创 C++基础(10)this 指针
this指针的用途(1)通过this指针可以访问当前对象的数据成员C++为类的每个成员函数都提供了一个隐含的名字为this的指针参数: 类名* const this在成员函数中,隐含了对this指针的使用。例如,成员函数PrintInfo的定义被编译系统处理为:void CPoint::PrintInfo(CPoint* const this){ c...
2018-07-25 17:22:42
188
原创 C++基础(9)常成员函数与常对象
使用const说明的成员函数称为常成员函数。常成员函数不能修改对象数据成员的值,它通常用于获取对象的状态。 常对象在定义时就必须进行初始化。常对象的数据成员值在对象的整个生存周期内不能被改变。而且,为了对常对象进行保护,不允许常对象调用普通的成员函数,只能调用常成员函数。常成员函数的声明形式: 返回类型 函数名(参数表) const;void GetName(...
2018-07-25 14:44:45
448
原创 C++基础(8)对象数组与对象指针
void main(){ CStudent student1[3]; ////对象数组,一定要有默认构造函数,不能重载。这是对象数组的一个大缺点 student1[0].SetName("张三"); student1[0].SetID("23433"); student1[0].SetSex('0'); student1[0].SetMajor("物理"); student1[1]...
2018-07-25 11:39:38
869
原创 C++基础(7)构造函数与析构函数
构造函数名与类名相同。 函数没有函数返回值,就是将返回值说明成void也不行 。 构造函数一般声明为公有成员,但是它不能被显式地调用。 构造函数的主要目的是为对象分配空间,进行数据成员的初始化。 如果用户没有显式地在类中写出构造函数,那么系统会为该类自动生成一个默认的构造函数。这个默认构造函数的形式如下:类名::类名(){ ...}构造函数可以被重载,这在工程上十分常见。...
2018-07-25 10:44:58
245
原创 C#学习记录(43)Windows应用程序基础之文件系统数据
一.流 在.NET Framework 中进行的所有输入和输出工作都要用到流(stream)。流是序列化设备(serialdevice)的抽象表示。序列化设备可以以线性方式存储数据,并可以按同样的方式访问:一次访问一个字节。有两种类型的流:输出流:当向某些外部目标写入数据时,就要用到输出流。这可以是物理磁盘文件、网络位置、打印机或另一个程序。理解流编程技术可以带来许多高级应用。本章...
2018-07-25 09:41:11
259
原创 C++基础(6)类与对象的概念及使用
一.类的声明class 类名{ private: 私有数据成员和私有成员函数 public: 公有数据成员和公有成员函数 protected: 保护数据成员和保护成员函数 }; ////这个“;”结束符不能少如果类的成员没有访问符号,则默认为私有的。二.成员函数...
2018-07-25 09:39:16
151
原创 C++基础(5)函数
一.函数包括函数的定义,函数原型的声明,以及函数的调用。1.声明 void PrintInfo(Student student); 2.调用 PrintInfo(Student1);3.定义函数void PrintInfo(Student student){ cout<<"该学生的信息为:\n"; co...
2018-07-24 17:18:21
218
原创 C++基础(4)const、define定义常量
1.const修饰符可以对变量进行修饰,指定该变量的值是常量。编译器会对此进行检查,禁止对此常量进行修改。const unsigned int ARRAY_SIZE1 = 20;const unsigned int ARRAY_SIZE2 = 12; 上面两句代码指定了数组长度分别为20和12。struct Student //学生结构体{ char m_strName[...
2018-07-24 16:07:12
418
原创 C++基础(3)局部变量和引用
1.局部变量 在C++语言中,允许在代码块的任何地方定义局部变量;而在C语言程序中,局部变量必须集中定义在可执行语句的前面。 一般来说,在较短的函数代码中,将局部变量在函数开始位置集中定义比较好,这样在代码维护时能够迅速确定变量的定义位置;而在代码较长的大函数中,通常在最近使用变量的位置定义变量较合适,这样能够方便对程序的查看和修改。 2.引用 引用是C+...
2018-07-24 09:41:46
3738
原创 C++基础(2)动态内存分配:new和delete
通过new和delete运算符进行动态数组内存的分配与释放。pnNumber = new int; //使用new运算动态分配整数空间aStudent = new Student[*pnNumber]; //使用new运算符分配动态数组#include "stdafx.h"#include <iostream>using namespace std;...
2018-07-23 22:09:33
306
原创 C++基础(1)C++的输入与输出
C++继承了C绝大部分的语法,并进行了扩展。比如输入输出,C语言的scanf和printf,变成了C++的cout<<和cin>>。现在以一个常用的学生信息的例子来说明C++的输入输出功能。//学生信息的输入和输出功能#include <iostream> //输入与输出头文件using namespace std; //输入输出的命名空间,s...
2018-07-23 18:15:18
521
原创 C#学习记录(44-1)C#串口通信SerialPort类
SerialPort类的常用属性 名 称 说 明 BaseStream 获取 SerialPort 对象的基础 Stream 对象 BaudRate 获取或设置串行波特率 BreakState 获取或设置中断信号状态 ...
2018-07-20 17:55:45
2094
2
转载 (转)工业智能相机与基于PC的机器视觉的区别比较
随着科技的日渐成熟,机器视觉得到了飞速发展。由于嵌入式技术的发展,近几年智能相机性能显著提高,越来越多必须依赖于PC处理的应用开始向智能相机平台倾斜。低成本、高可靠性及易于安装维护等优势,使得机器视觉在制造业上的规模性应用越来越普遍。智能相机并不是一台简单的相机,而是一种高度集成化的微小型机器视觉系统。它将图像的采集、处理与通信功能集成于单一相机内,从而提供了具有多功能、模块化、高可靠性、...
2018-07-20 11:26:24
4264
4
转载 C#学习记录(42)Windows应用程序基础之部署应用程序
(1):一些发布方式ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌。因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本。http://baike.baidu.com/view/1390498.htm如果你对这些理论的东西不...
2018-07-20 10:13:56
4644
1
原创 C#学习记录(41)windows应用程序基础之MDI多窗口程序
什么是多窗口程序呢?多窗口指的是在程序运行期间,可以打开多个子程序。比如,写字板和word文档等。 创建一个多窗口程序需要三个步骤: 1.创建一个父窗口作为应用程序的窗口 将窗口的IsMdiContainer属性设置为True,即可作为父窗口了。 2.添加控件(比如菜单项)来创建子窗口 private void 新建ToolStri...
2018-07-17 11:29:10
2031
原创 C#学习记录(40)windows应用程序基础之工具栏、状态栏
一.工具栏 添加工具栏控件。然后可以在工具栏上添加工具项目。1.按钮(用的最多) 只需要给按钮添加Image和Click事件名,Click事件名与菜单项对应的事件名相同,则可以调用菜单栏的事件响应函数。2.便签 显示功能3.SplitButton 带下拉按钮的按钮 就是按钮和菜单栏的组合体4.下拉菜单 单击就会弹出下拉菜单5.组合框6.进度条7.文本框8.分隔符 |二...
2018-07-12 09:31:09
661
原创 C#学习记录(39)windows应用程序基础之菜单
一.主菜单 主菜单只有一个。添加菜单项,双击添加响应事件。二.上下文菜单 上下文菜单可以有多个,指的注意的是上下文菜单可以添加给任意控件的ContextMenu属性。 上下文菜单是隐藏不见的,右击到关联控件才会弹出来。上下文菜单的添加菜单项方式和主菜单一样,只是需要在每两个菜单栏之间添加分割线。...
2018-07-11 17:28:05
286
原创 程序练习5:MLP的纹理识别程序
*********************************木板的纹理识别程序**********************************本程序知识量太大,需要多多研究!***定义变量FeaturesExtended:=[]FeaturesExtended1:=[]Classes := ['apple','beech','cherry','maple','oak']Num...
2018-07-11 11:32:38
722
原创 C#学习记录(38)windows应用程序基础之DataGridViewl控件
DataGridView控件是C#独有的控件,是专门针对数据库操作而设计的。 1.加载对话框 //数据库连接 SqlConnection conn = new SqlConnection("Data Source=sdwm-20150704fl\\sqlexpress1;Initial Catalog=shoot;User ID=sa;p...
2018-07-11 10:31:37
706
原创 C#学习记录(37)windows应用程序基础之TabControl控件
TabControl 提供了一种简单的方式,可以把对话框组织为合乎逻辑的部分,以便根据控件顶部的选项卡来访问。TabControl 包含TabPages,TabPages 的工作方式与GroupBox 控件非常类似,也是把控件组合在一起,但它们更复杂。 TabControl控件的使用非常方便,可以在控件的TabPages对象集合中添加任意数量的选项卡,然后在各个页面上...
2018-07-11 10:21:04
655
转载 基恩士智能相机(2)快速上手
一.滑动遥控器介绍 1 号按键 FUNCTION(功能键) 切换功能菜单的显示和非显示 2 号按键 ESCAPE ( 退出键) 设定时返回前面一个界面或者退出 3 号按键 TRIGGER (拍摄键) 一齐输入触发 4 号按键 SCREEN (屏幕键) 按顺序切换现在显示的画面的显示类别 5 号按键VIEW (画面切换) 显示查看栏,切换画面的扩大/ 缩小,显示...
2018-07-10 17:43:30
9829
原创 基恩士智能相机(1)整机操作流程
第三步的设定检测窗口是最重要,也是最复杂的。因为有19种方法可以用于检测,所以需要大量的实践经验才能最大的发挥基恩士智能相机的功能。...
2018-07-10 17:24:41
8210
原创 程序练习:4.mlp汉字识别程序(笔画断开的手写汉字)
***********************本程序是汉字识别程序,主要完成了将断开的汉字设计成矩形块目标,然后进行MLP训练学习,***********************生成.ocm识别文件,可以直接用于库内的汉字识别。识别准确率和样本数量和质量有关,最*****************重要的还是学习算法的准确度。dev_close_window ()read_image (Ima...
2018-07-10 16:37:06
1173
原创 C#学习记录(36)windows应用程序基础之ListView控件
列表视图通常用于显示数据,用户可以对这些数据和显示方式进行某些控制。listview可以把包含在控件中的数据显示为列和行(像网格那样),或者显示为一列,或者显示为图标表示。 listview的属性如下所示: Activation 使用这个属性,可以控制用户在列表视图中激活选项的方式。可能的值如下: ...
2018-07-10 10:22:28
609
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人