自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

转载 C++—在VS2017环境下的编译log4cpp

在VS2017环境下的编译log4cpp-1.1.3并未提供VS2017的项目工程,但是我们可以从msvc10版本中升级。复制msvc10目录并重命名为msvc2017。用VS2017打开解决方法msvc10.sln,并按提示执行升级过程。把Solution Name重命名为msvc2017尝试编译log4cpp的Win32 Debug配置,将出现如下错误。 1&gt...

2019-02-22 16:25:12 2867 2

原创 C++第5课——多态

#include "pch.h"#include <iostream>using namespace std;class Shape {protected: int width, height;public: Shape(int a, int b):width(a),height(b){} //构造函数初始化列表 virtual void are...

2019-01-04 17:24:09 256

原创 C++第4课——重载运算符

C++ 中的运算符重载可以重定义或重载大部分 C++ 内置的运算符。这样,就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。Box operator+(const Box&);Box operator+(const Box&, ...

2019-01-04 16:47:16 339

原创 C++第3课——友元函数

类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元,关键字 friend。 "Box.h"#pragma onceclass Box{public: double width; friend vo...

2019-01-04 16:04:07 189

原创 C++第2课——类&对象

C++ 类定义class Box{ public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 double getVolume(void);// 返回体积 /*double getVolume(void) ...

2019-01-04 15:26:01 150

原创 C++第1课——Debugview调试

1. DebugView的介绍:        DebugView是一个让开发者可以在自己本地的机器,或者是任意一个可以通过TCP/IP协议访问到的电脑上监视调试输出的应用程序。Debugview 可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息。支持Debug、Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visu...

2018-12-23 22:55:26 1258

原创 C语言第17课——socket编程

1.  TCP/IP协议传输控制/网际协议,又叫网络通信协议。实际上,它包含上百个功能的协议,如ICMP(互联网控制信息协议)、FTP(文件传输协议)、UDP(用户数据包协议)、ARP(地址解析协议)等。TCP负责发现传输的问题,一旦有问题就会发出重传信号,直到所有数据安全正确的传输到目的地。 2.套接字(socket)在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。s...

2018-12-02 16:12:38 480

原创 C语言第16课——内存管理

内存管理内存的分配和管理函数可以在 <stdlib.h> 头文件中找到。序号 函数和描述 1 void *calloc(int num, int size); 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。 2 voi...

2018-12-01 11:56:00 150

原创 C语言第15课——头文件

头文件头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。 stdio.h 头文件,它是编译器自带的头文件。引用头文件相当于复制头文件的内容。A simple practice in C 或 C++ 程序中,建...

2018-11-26 16:23:40 397

原创 C语言第14课——预处理器

预处理器C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。C 预处理器(C Preprocessor)简写为 CPP。所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令:指令 ...

2018-11-26 15:39:26 170

原创 C语言第13课——文件读写

一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。 打开文件使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。FILE *fopen( const char * fi...

2018-11-26 15:16:52 905

原创 C语言第12课——输入&输出

输入意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。 输出意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。 标准文件C 语言把所有的设备都当作文件。所以设备(比如显示器)被处...

2018-11-25 15:20:54 558 2

原创 C语言第11课——typedof和#define

typedef可以使用它来为类型取一个新的名字。typedef unsigned char BYTE;BYTE b1, b2;按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩写,但也可以使用小写字母。使用 typedef 来为用户自定义的数据类型取一个新的名字。例如,可以对结构体使用 typedef 来定义一个新的数据类型名字,然后使用这个新的数据类型来直...

2018-11-25 09:24:45 639 1

原创 C语言第10课——共用体

共用体是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。#include <stdio.h>#include <string.h>union Data //定义共用体{ int i; float ...

2018-11-24 21:59:27 1474

原创 C语言第9课——位域

有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有 0 和 1 两种状态,用 1 位二进位即可。为了节省存储空间,并使处理简便,C 语言又提供了一种数据结构,称为"位域"或"位段"。所谓"位域"是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一...

2018-11-24 21:34:35 154 1

原创 C语言第8课——结构体

结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。假设想要跟踪图书馆中书本的动态,需要跟踪每本书的下列属性:Title Author Subject Book ID#include <stdio.h>struct student //定义结构{ char *name;...

2018-11-24 21:12:10 204

原创 C语言第7课——字符串

在 C 语言中,字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};char greeting[] = "Hello";以下是 C/C++ 中定义的字符串的内存表示:字符串:%s      字符:%...

2018-11-24 20:47:36 175

原创 C语言第6课——函数指针

定义函数指针,其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针。 声明格式:类型说明符 (*函数名) (参数) int (*fun)(int x,int y);函数指针是需要把一个函数的地址赋值给它,有两种写法:fun = &Function;fun = Function;取地址运算符&不是必需的,因为一个函数标识符就表示...

2018-11-24 16:48:24 166

原创 C语言第5课——指针

每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:#include <stdio.h> int main (){ int var1; char var2[10]; printf("var1 变量的地址: %p\n", &var1 ...

2018-11-24 14:56:23 174

原创 C语言第4课——从函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数。但是,可以通过指定不带索引的数组名来返回一个指向数组的指针。如果想要从函数返回一个一维数组,必须声明一个返回指针的函数,如下:int * myFunction(){...}另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。数组名是一个指向数组中第一个元素的常量指针。balance 是一...

2018-11-24 09:16:29 6964 1

原创 C语言第3课——传递数组给函数

如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。 方式 1形式参数是一个指针:#include <stdio.h>double Sum(int *num, int Length);int main(){...

2018-11-20 10:09:56 38803 1

转载 C语言第2课——extern存储类

extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。extern 是用来在另一个文件中声明一个全局变量或函数。注:变量默认为本地,函数默认为全局。 第一个文件:main.c实例#include <stdio.h>int count ;extern void write_extern();int main(){ ...

2018-11-19 22:20:03 1257

原创 C语言第1课——static存储类

一、static修饰的变量1. 全局静态变量  在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。  1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)  3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始...

2018-11-19 22:12:49 1119

原创 C#乱弹1—多线程

1. 单线程       实现,按下button1,控制台显示1 2 3 4 ... 100 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using Syste...

2018-10-04 22:27:06 191

原创 ABB机械臂乱弹1-ABB机器人选项功能

 ABBSystemOptions:选项功能 Industrial Networks 现场总线 709-1 DeviceNet Master/Slave 必备 888-2 PROFINET Controller/Device 888-3 PROFINET Device 997-1 PROFlsafe F-Device 969-1 PROFIBUS Con...

2018-09-22 20:12:19 7319

原创 使用VS对ABB机器人二次开发

使用VS对ABB机器人二次开发1)制作上述二次开发环境,包括:a.pc.sdk安装包安装;b.VS引用pc.sdk的dll;c.读取在线机器人的所有控制器;d.读取在线控制器机器人的Num数据;e.读取在线控制器机器人的操作模式和控制器状态;f.读取在线控制器机器人的Di和Do;g.写入在线控制器机器人的num数据;h.写入在线控制器机器人的控制器状态;i.写入在线控制器机器人的Di和Do;j.读...

2018-06-19 11:08:51 10586 1

原创 C#窗体控件自适应缩放

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.F...

2018-04-13 14:56:54 5067 3

原创 (3)树莓派3b命令行版网易云音乐

命令行版网易云音乐sudo apt-get install python-dev mpg123 sudo pip install Netease-MusicBox 如果报pip相关的错误,可能需要安装pip: sudo apt-get install python-pip 使用软件:    musicbox上下移动:J、K确认:Enter播放/暂停:Space

2017-11-29 09:38:28 3679

原创 (2)树莓派3B连接隐藏wifi网络

连接隐藏wifi可以使用nano编辑器打开wpa-supplicant配置文件:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 在文件底部添加: network={ ssid=”wifi_name” scan_ssid=1 psk=”wifi_password” } 关键是ssid_scan=1这一句,加上后才能扫描到隐藏的wifi

2017-11-28 17:38:14 11222

原创 (1)Raspberry Pi的首次使用——远程桌面显示树莓派系统

一、开机前的准备1、准备材料:一根网线、树莓派2、树莓派官方系统:http://www.raspberrypi.org/downloads3、格式化SD卡:插上 SD 卡到电脑,使用SDFormatter.exe软件格式化 SD 卡。(必须是8G 或以上的内存卡)4、安装系统:用Win32DiskImager.exe烧写镜像。选择要烧写的镜像,点击“Write”进行烧写。二、配置笔记本电脑1、连线:

2017-11-22 10:38:01 6225

原创 USB转RS485代替PC/PPI通讯电缆

S7-200的CPU使用的是RS485,PC机有RS232口和USB口,两种接口电气规范不同,需要用中间电路转换成同一接口类型。现在常用的PC/PPI其实就是一根USB/RS485的匹配电缆。

2017-06-21 16:48:00 8634

原创 串口通信测试

一、测试工具     (1)串口调试助手V2.2;     (2)Configure Virtual Serial Port Driver;二、配置虚拟串口接口连接(实际应用上就是接线)COM2COM3三、串口调试助手进行数据发送和接收

2017-06-21 11:28:36 8773

原创 串口通信参数设置

1. 通讯控制要求:    (1)接口要一致;    (2)设置合适的通讯参数;    (3)通讯协议一致;2.串口通信参数设置工具:串口调试助手(1)波特率串口通信时的速率。          如每秒钟传送1920个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),波特率为240Bd,比特率为10位*

2017-06-21 09:48:22 49088

原创 RS232、RS422和RS485

PLC各型主机均内建2个通信接口的标准配置,即一个RS232和一个RS485通信接口。其RS232接口主要用于上下载程序或用来与上位机、触摸屏通信,而RS485接口主要用于组建使用RS485协议的网络,实现通信控制。1.RS232接口RS232-C接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即"发送数据"、"接收数据"和"信号地"即可传

2017-06-20 20:12:25 1303

原创 串口通信原理

串口通讯所需电缆线少,接线简单,所以广泛应用于远距离传输中。在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向分为3种基本的传送方式:单工、半双工和全双工。单工通信:使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。半双工通信:使用同一根传输线既作为接收线路又作为发送线路,虽然数据可

2017-06-20 20:09:04 2251

原创 RobotStudio6.xx系统安装

1、打开RS6.0,点击控制器2、通讯正常状态3、点击控制柜地址4、自动加载当前系统5、点击下一步,修改系统点击添加,选择Robot Ware版本点击下一个,选择Key文件先删除原来的Key,将新的Key导进去。

2017-06-20 20:06:57 3382 2

原创 RobotStudio5.xx系统安装

1.在笔记本上要安装ABB Robotstudio5.61(或者Robotstudio6.x版本)和Robotware 5.61软件,缺一不可。2.现在需要一个选项秘钥和驱动秘钥ETUo--lMDzTTTTVXTUlTTfTTbTTY#ZJWAw7Be0e1M(选项秘钥)SeYx5L-krYYnYYT(驱动秘钥)

2017-06-20 19:52:48 9394

原创 RobotStudio仿真—Smart组件创建动态输送链

一、Smart组件创建受信号与属性控制的动作组件。不同于事件管理器的是,它适用于中大型工作站应用中,显示动态工作流程,更直观。二、码垛工作站产品从输送链一端产生,然后沿着输送链运动,输送链末端的传感器检测到产品到位,输送链暂停运动,机器人从原点位置开始运动,将产品放置到左侧跺板上。三、动态输送链

2017-06-20 19:42:12 31610 5

原创 RobotStudio仿真—工作站逻辑

一、工作站逻辑工作站逻辑适用于将smart组件信号与机器人系统配置信号进行相关联的配置。二、机器人控制器配置信号三、工作站逻辑I/O连接

2017-06-20 19:38:12 10395

原创 RobotStudio仿真—Smart组件创建动态夹具

一、创建动态夹具的smart组件二、添加组件☆Attacher—安装一个对象属性:Parent—安装的父对象Flange:机械装置或工具数据安装到Child:安装对象Mount:移动对象到其父对象Of

2017-06-20 19:37:00 25140 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除