ethmpivb
Ⅰ vb对plc应用有用吗要学的话先打好什么学科基础
有用啊,我现在就是用的工控机+VB+PLC来开发控制程序。。plc会送你一条电缆。可以跟计算机通迅,控制。
Ⅱ 通讯接口问题,有关于RS485,PCI,RS232,VB的问题
通讯距离是看通讯协议的,ppi通讯和mpi通讯都是用rs485,但是ppi属于串口通信,通信资料上建议30米,实际可以做到50米。而现场总线通信和mpi通信,根据波特率,距离为150-1200米不等。
通信协议依赖通信端口,比如rs232就不能用做现场总线通信。
Ⅲ VB设计 通过OPC与西门子PLC通讯
朝2个方向去下手:
1用VB编制OPC服务器。用VB来开发OPC服务器,采用OPC开发包去实现,比较快捷,但开发包是要买的,否则还是用c来开发,要费时了。
2弄清西门子PLC的通讯协议:
200系列PLC一般用PPI和MODBUS协议。
300系列PLC一般用MPI和profbus,modbus,及以太网通讯协议。 先从modbus去下手比较容易。也可以去西门子网站下载他的驱动 DLL来开发,但例子很少,组态王软件中也有这个dll。。
Ⅳ VB中二进制文件的内容怎么读取
存放二进制文件的数据要使用字节型数组,不能是字符型数组:
Dim DAT() As Byte
Dim FileSize As Long '文件长度
FileSize = FileLen(文件名) '获取文件长度
ReDim DAT(FileSize - 1) As Byte
Open 文件名 For Binary As #1
Get #1, , DAT
Close
数据已经在DAT数组中了,你可以进行任意处理
Ⅳ vb中keycode 是什么
keycode 是键盘上每一个按键对应的码
keycode如下 :
keycode 0 =
keycode 1 =
keycode 2 =
keycode 3 =
keycode 4 =
keycode 5 =
keycode 6 =
keycode 7 =
keycode 8 = BackSpace BackSpace
keycode 9 = Tab Tab
keycode 10 =
keycode 11 =
keycode 12 = Clear
keycode 13 = Enter
keycode 14 =
keycode 15 =
keycode 16 = Shift_L
keycode 17 = Control_L
keycode 18 = Alt_L
keycode 19 = Pause
keycode 20 = Caps_Lock
keycode 21 =
keycode 22 =
keycode 23 =
keycode 24 =
keycode 25 =
keycode 26 =
keycode 27 = Escape Escape
keycode 28 =
keycode 29 =
keycode 30 =
keycode 31 =
keycode 32 = space space
keycode 33 = Prior
keycode 34 = Next
keycode 35 = End
keycode 36 = Home
keycode 37 = Left
keycode 38 = Up
keycode 39 = Right
keycode 40 = Down
keycode 41 = Select
keycode 42 = Print
keycode 43 = Execute
keycode 44 =
keycode 45 = Insert
keycode 46 = Delete
keycode 47 = Help
keycode 48 = 0 equal braceright
keycode 49 = 1 exclam onesuperior
keycode 50 = 2 quotedbl twosuperior
keycode 51 = 3 section threesuperior
keycode 52 = 4 dollar
keycode 53 = 5 percent
keycode 54 = 6 ampersand
keycode 55 = 7 slash braceleft
keycode 56 = 8 parenleft bracketleft
keycode 57 = 9 parenright bracketright
keycode 58 =
keycode 59 =
keycode 60 =
keycode 61 =
keycode 62 =
keycode 63 =
keycode 64 =
keycode 65 = a A
keycode 66 = b B
keycode 67 = c C
keycode 68 = d D
keycode 69 = e E EuroSign
keycode 70 = f F
keycode 71 = g G
keycode 72 = h H
keycode 73 = i I
keycode 74 = j J
keycode 75 = k K
keycode 76 = l L
keycode 77 = m M mu
keycode 78 = n N
keycode 79 = o O
keycode 80 = p P
keycode 81 = q Q at
keycode 82 = r R
keycode 83 = s S
keycode 84 = t T
keycode 85 = u U
keycode 86 = v V
keycode 87 = w W
keycode 88 = x X
keycode 89 = y Y
keycode 90 = z Z
keycode 91 =
keycode 92 =
keycode 93 =
keycode 94 =
keycode 95 =
keycode 96 = KP_0 KP_0
keycode 97 = KP_1 KP_1
keycode 98 = KP_2 KP_2
keycode 99 = KP_3 KP_3
keycode 100 = KP_4 KP_4
keycode 101 = KP_5 KP_5
keycode 102 = KP_6 KP_6
keycode 103 = KP_7 KP_7
keycode 104 = KP_8 KP_8
keycode 105 = KP_9 KP_9
keycode 106 = KP_Multiply KP_Multiply
keycode 107 = KP_Add KP_Add
keycode 108 = KP_Separator KP_Separator
keycode 109 = KP_Subtract KP_Subtract
keycode 110 = KP_Decimal KP_Decimal
keycode 111 = KP_Divide KP_Divide
keycode 112 = F1
keycode 113 = F2
keycode 114 = F3
keycode 115 = F4
keycode 116 = F5
keycode 117 = F6
keycode 118 = F7
keycode 119 = F8
keycode 120 = F9
keycode 121 = F10
keycode 122 = F11
keycode 123 = F12
keycode 124 = F13
keycode 125 = F14
keycode 126 = F15
keycode 127 = F16
keycode 128 = F17
keycode 129 = F18
keycode 130 = F19
keycode 131 = F20
keycode 132 = F21
keycode 133 = F22
keycode 134 = F23
keycode 135 = F24
keycode 136 = Num_Lock
keycode 137 = Scroll_Lock
keycode 138 =
keycode 139 =
keycode 140 =
keycode 141 =
keycode 142 =
keycode 143 =
keycode 144 =
keycode 145 =
keycode 146 =
keycode 147 =
keycode 148 =
keycode 149 =
keycode 150 =
keycode 151 =
keycode 152 =
keycode 153 =
keycode 154 =
keycode 155 =
keycode 156 =
keycode 157 =
keycode 158 =
keycode 159 =
keycode 160 =
keycode 161 =
keycode 162 =
keycode 163 =
keycode 164 =
keycode 165 =
keycode 166 =
keycode 167 =
keycode 168 =
keycode 169 =
keycode 170 =
keycode 171 =
keycode 172 =
keycode 173 =
keycode 174 =
keycode 175 =
keycode 176 =
keycode 177 =
keycode 178 =
keycode 179 =
keycode 180 =
keycode 181 =
keycode 182 =
keycode 183 =
keycode 184 =
keycode 185 =
keycode 186 =
keycode 187 = acute grave
keycode 188 = comma semicolon
keycode 189 = minus underscore
keycode 190 = period colon
keycode 191 =
keycode 192 = numbersign apostrophe
keycode 193 =
keycode 194 =
keycode 195 =
keycode 196 =
keycode 197 =
keycode 198 =
keycode 199 =
keycode 200 =
keycode 201 =
keycode 202 =
keycode 203 =
keycode 204 =
keycode 205 =
keycode 206 =
keycode 207 =
keycode 208 =
keycode 209 =
keycode 210 = plusminus hyphen macron
keycode 211 =
keycode 212 = right registered
keycode 213 = guillemotleft guillemotright
keycode 214 = masculine ordfeminine
keycode 215 = ae AE
keycode 216 = cent yen
keycode 217 = questiondown exclamdown
keycode 218 = onequarter onehalf threequarters
keycode 219 =
keycode 220 = less greater bar
keycode 221 = plus asterisk asciitilde
keycode 222 =
keycode 223 =
keycode 224 =
keycode 225 =
keycode 226 =
keycode 227 = multiply division
keycode 228 = acircumflex Acircumflex
keycode 229 = ecircumflex Ecircumflex
keycode 230 = icircumflex Icircumflex
keycode 231 = ocircumflex Ocircumflex
keycode 232 = ucircumflex Ucircumflex
keycode 233 = ntilde Ntilde
keycode 234 = yacute Yacute
keycode 235 = oslash Ooblique
keycode 236 = aring Aring
keycode 237 = ccedilla Ccedilla
keycode 238 = thorn THORN
keycode 239 = eth ETH
keycode 240 = diaeresis cedilla currency
keycode 241 = agrave Agrave atilde Atilde
keycode 242 = egrave Egrave
keycode 243 = igrave Igrave
keycode 244 = ograve Ograve otilde Otilde
keycode 245 = ugrave Ugrave
keycode 246 = adiaeresis Adiaeresis
keycode 247 = ediaeresis Ediaeresis
keycode 248 = idiaeresis Idiaeresis
keycode 249 = odiaeresis Odiaeresis
keycode 250 = udiaeresis Udiaeresis
keycode 251 = ssharp question backslash
keycode 252 = asciicircum degree
keycode 253 = 3 sterling
keycode 254 = Mode_switch
Ⅵ VB与西门子S7-300通讯
使用什么线取决于你想怎么通讯。
DP?MPI?还是以太网?
你S7-300什么型号?如果没有以太网的话,我建议你还是不要用以太网,否则PLC侧添加一个模块就要8000多RMB。
DP通讯,你有CP通讯卡否?如果没有,你只能通过MPI电缆进行通讯。
MPI电缆,西门子原装的价格大约在1500左右,国产的也就在5,6百。
用串口控件?你知道MPI这个非公开协议内容?
不知道的话搞到退休恐怕也搞不出来。
去找Prodave软件,使用其中的Dll,在VB中进行调用。
非问题简单,而是想法幼稚。
Regards
Ⅶ 如何在vmware配置linux下的mpi
虚拟机CentOS中配置MPI多节点并行计算完整版,这是一个新手教程,从一个空白的CentOS到能正常运行的基础环境,尽量详细写了每个步骤
我的环境如下:
宿主机:Windows 10 Pro
虚拟机:VMware 12 + CentOS 6.6
一、 虚拟机网络配置实现多节点互访
硬件资源有限,所以我只开了两台虚拟机均为 Centos 6.6。
1.修改网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 将其中内容修改如下:
DEVICE=eth0
HWADDR=00:0C:29:A0:3A:CA
TYPE=Ethernet
UUID=bf583745-f834-451c-890c-39821a590543
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.207.128
NETMASK=255.255.255.0
DNS1=192.168.207.2
将每一台虚拟机都如此配置,IPADDR是ip地址,不要重复
2.修改网关及主机名
/etc/sysconfig/network
ETWORKING=yes
HOSTNAME=node1
NTPSERVERARGS=iburst
GATEWAY=192.168.207.2
一些文章中提到还需要修改VMware的设置(关闭本地DHCP服务),实际上,Centos 中设置好后就不需要动VMware的设置了
二、 在虚拟机中添加同名用户
在不同节点中需要有同名的用户以方便免密码SSH连接
node1和node2中以root用户执行下列命令
# useradd mpiuser
三、 实现免密码SSH登陆
当前节点为node1,用户为mpiuser,工作目录为 ~ 家目录
1.生成 SSH 私钥对
$ ssh-keygen -t rsa 一路回车就好
2.进入 .ssh 目录
$ cd ./.ssh
3.生成authorized_keys文件
$ cp id_rsa.pub authorized_keys
4.回到mpiuser的家目录
$ cd ~
5.建立本身的信任连接
$ ssh node1
6.设置 node2
$ ssh-keygen -t rsa 生成.ssh文件夹
$ scp node1:~/.ssh/* ./ 拷贝node1上的.ssh文件夹到node2
# scp node1:/etc/hosts /etc/hosts 拷贝node1上的hosts文件到node2,可能需要root权限
$ ssh node2
$ ssh node1
7.如果还有其他节点,设置方法同node2
设置成功后,在任意节点执行SSH连接其他节点都不需要密码,注意必需每个节点都有mpiuser这个用户,之所以使用一个普通用户,是为了避免root执行mpi程序时遇到风险。在一些mpi实现中,也不允许以root用户执行。
四、 配置MPI运行环境
1. 下载 mpich
官方网站 http://www.mpich.org 下载其中的mpich-3.2.tar.gz
2. 解压并进入目录
# tar xvf mpich-3.2.tar.gz
# cd mpich-3.2
# ./configure –prefix=/usr/local/mpich
# make
# make install
3. 设置环境变量,修改 /etc/profile ,加入下面几行代码
PATH=$PATH:/usr/local/mpich/bin
MANPATH=$MANPATH:/usr/local/mpich/man
export PATH MANPATH
4. 使刚刚的修改生效
# source /etc/profile
5. mpi多节点配置
新建一个配置文件
# touch /usr/local/mpich/servers
修改其中内容为:
node1:2 #在node1上运行两个进程
node2:2
如果有多个节点继续往下写
五、 单节点测试
将源码包中的 examples 拷贝到 mpich 的安装目录
# cp -r ./examples /usr/local/mpich/
用示例程序进行测试
$ mpirun -np 4 /usr/local/mpich/examples/cpi
Process 1 of 4 is on node1
Process 0 of 4 is on node1
Process 3 of 4 is on node1
Process 2 of 4 is on node1
pi is approximately 3.1415926544231239, Error is 0.0000000008333307
wall clock time = 0.081049
得到如图的回显结果证明mpich的运行环境正常
六、 多节点测试
$ mpiexec -np 4 -f /usr/local/mpich/servers /usr/local/mpich/examples/cpi
Process 1 of 4 is on node1
Process 0 of 4 is on node1
Process 3 of 4 is on node2
Process 2 of 4 is on node2
pi is approximately 3.1415926544231239, Error is 0.0000000008333307
wall clock time = 0.139722
如上,在两个节点上分别运行了两个进程,配置过程到此结束
Ⅷ PPI通讯和MPI通讯是什么概念
PPI是一种主从协议,CPU既可以做主站,又可以做从站,主站靠PPI协议管理与从站通讯。所有的通信程序运行在主CPU上,从站设备不需要专门的通信代码。
MPI是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。
MPI网络通信的速率是19.2Kbit/s~12Mbit/s,MPI网络较多支持连接32个节点,较大通信距离为50M。通信距离远,还可以通过中继器扩展通信距离,但中继器也占用节点。

CPU进行数据交换的方法
基于PPI协议实现两个CPU之间进行数据交换:
1、硬件连接
PPI通信建立在485的硬件基础上,因此需要制作一根至少包含一对双绞线的屏蔽线,两端分别接DB9头子的3脚和8脚,屏蔽层接DB9头子的金属外壳。
2、合理分配CPU地址
PPI通信要求PPI网络内每个CPU具有不同地址,Micro/WIN默认为0,CPU默认为2,因此建议主PLC的地址设置为2,从PLC地址依次设置为11、12、13??依次类推。
3、正确初始化
通过初始化特殊寄存器SMB30,将主CPU端口0配置为PPI主站模式,同时将数据缓存区清零。
4、正确准备数据
数据必须按照规定将相应的数据填入缓冲区,例如数据发送缓冲区为VB200,那么VB200就是状态字,不需要填写,用于读取指令执行的状态。
5、适时调用收发指令
PPI通信指令只有两条,分别是:网络读和网络写,调用也很简单,只需要指定本次读写己方的端口和数据缓冲区地址。
6、正确进行指令调用
Ⅸ 请教:vb 上位机如何通过PROFIBUS-DP和西门子PLC通讯
可以的,在你的计算机上安装CP5611卡,安装SIMATIC.NET软件,同时通过OPC
SEVER调用PLC数据。具体编程可以查看SIMATIC.NET的HELP。
