不能用String a=""
谢了,再问下
电文长度----此项长度为2字节,用于指示一段完整电文的长度。它的传输格式为BCD。举例来说,它用‘0122‘表示电文长度为122Bytes。
如果是用字符串传比如String a ="99";
表示电文99位,两个字节只能表示这么长啊,怎么表示100多
不用String,用byte啊,一个byte可以表示256个数据,两个byte(即两个字节),可以表示65536个数据。
或者使用一个char来表示,一个char就是占两个字节的,范围在0~65535之间,可以表示65536个数字。
比如:100个长度,就是char c = 100;
报文都是二进制流,不会使用String的。
我以前都是用String拼出了报文 ,然后一起byte[] buf=agetBytes();
然后把这个byte数组发过去
那当然也可以啦,最终还是通过二进制发送的不是吗?
这样报文长度,只能通过两个byte来实现了。
还有,那个报文的具体格式是什么?STX,长度,报文内容等等具体是怎么安排的?
起始位 电文长度 交易数据 停止位 校验和
[1] [2] [3] &nb简述:Slax Boot File
打开SGN文件
Mac OS
Windows
Linux Slax
以"S"开头的其它文件扩展名:
文件格式 文件类型 文件格式 文件类型
STYLE 设置文件 STYLE 设置文件
STY 文本文件 STY 音频文件
STX 视频文件 STX 音频文件
STW 文本文件 STW 数据文件
STR 数据文件 STR 视频文件
sgn
文件类型:Slax Boot File
扩展名为sgn的文件是一个数据文件。
文件说明:
File used by Slax, a small, portable, open-source Linux operating system; serves as a flag that informs the Slax kernel where its data modules are found; always found with the filename livecdsgn
The livecdsgn file may be skipped by the Slax boot process by enabling a cheatcode within the Slax configuration filesgn
有道翻译仅供参考
用Slax文件,一个小,便于携带,开源Linux *** 作系统;作为一个旗,通知Slax内核模块在它的数据发现,总是发现livecdsgn文件名。
livecd的。水坝的文件可以跳过Slax开机过程能让一个cheatcode配置文件在Slax 水坝
打开sgn文件
Mac OS
Windows
Linux
Slax上位机可以用专用的组态软件,也可以用VB或VC自己写监控界面,如果使用专用的组态软件通讯部分已经是集成好了的,而如果自己用VB,VC写界面就需要使用三菱的软件包进行通讯。
PLC与PC机之间实现通道,可使二者互补功能上的不足,PLC用于控制方面既方便又可靠,而PC机在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。因此,各PLC制造厂家纷纷开发了适用于本公司的各种型号PLC与PC机通信的接口模块。三菱公司开发的FX-232AW接口模块用于FX2系列PLC与计算机通信。还有与以太网连接的接口模块AJ71E71、与MAP网连接的接口模块AJ71M51-S1、与FAIS MAP网连接的接口模块AJ71M51M1等。不同的通信方式,有着不同的成本价格和不同的适用范围。在此介绍一种通过PC机的RS-232口与PLC进行通信的实现方法。
FX2系列PLC的编程接口采用RS-422标准,而计算机的串行口采用RS-232标准。因此,作为实现PLC计算机通信的接口电路,必须将RS-422标准转换成RS-232标准。
RS-232与RS-422标准在信号的传送、逻辑电平均不相同。
RS-232采用单端接收器和单端发送器,只用一根信号线来传送信息,并且根据该信号线上电平相对于公共的信号地电平的大小来决定逻辑的“1”(-3~-15V)和“0”(+3~+15V);
RS-422标准是一种以平衡方式传输的标准,即双端发送和双端接收,根据两条传输线之间的电位差值来决定逻辑状态。RS-422电路由发送器、平衡连接电缆、电缆终端负载和接收器组成。它通过平衡发送器和差动接收器将逻辑电平和电位差之间进行转换(+2V表示“0”,-2V表示“1”)。
选用MAXIM公司的MAX202实现RS-232与TTL之间的电平转换。MAX202内部有电压倍增电路和转换电路,仅需+5V电源就可工作,使用十分方便;选用MAX490实现RS-485与TTL之间的转换。每片MAX490有一对发送器/接收器,由于通信采用全双工方式,故需两片MAX490,另外只需外接4只电容即可。
PLC的RS-422接口配接DB-25型连接器,而PC机一般用DB-9型连接器。硬件电路图如图1所示。
将RS-232的RS、CS短接,这样对计算机发送数据来说,PLC总是处于就绪状态。也就是说,计算机在任何时候都可以将数据送到PLC内。又由于DR、ER交叉连接,因此,对计算机接收数据来说,必须等待至PLC处于准备就绪状态。
2 通信装置的软件描述
21 FX2系列PLC与计算机之间通信协议
FX2系列PLC与计算机之间的通信采用RS-232标准,其传输速率固定为9600bps,奇偶校验位采用偶校验。数据格式如图2所示。数据以帧为单位发送和接收。一个多字符帧由力所示的五部分组成,其中和校验值是将命令码ETX之间的的呢字符的ASCII码(十六进制数)相加,取得所得和的最低二位数。STX和ETX分别表示该字符帧的起始标起和结束标志。
FX2系列与计算机之间的通信是以主机发出的初始命令,PLC对其作出响应的方式进行通信的。共有0、1、7、8四种命令,上位机实现对PLC的读写和强行置位。通过ENQ、ACK和NAK,上位机协调与PLC的通信应答。
22 通信过程
采用Bland C编写主机与PLC的通信程序。首先必须对COM1口进行初始化,波特率为9600bps,奇偶校验位采用偶校验,七位有效数据。通信的初始化检测过程如图4所示。当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。通信的时序图如图5所示。
计算机可对PLC内各软设备进行读、写和强制ON/OFF *** 作。除开PLC的计时器和计数器的设定值采用常数时,以及文件寄存器内的数据,FX2系列PLC的所有开关量输入、输出以及各软件设备对计算机都是透明的。其 *** 作时的多字符帧的格式如图3所示。但不同的 *** 作在“多个字符”项内有所不同。例如,计算机对PLC的软设备Y20~Y37进行读 *** 作,查装置地址表为00A2,读取2字节数据。其状态如图6(a)所示,主机发出的命令格式如图6(b)所示,PLC返回的信息如图6(c)所示。
如传送的命令有错误,PLC返回NAK信号,本次 *** 作失败,重新进行。
为了保证主机与PLC的通信准确无误,上位机也必须按通信协议进行和校。如接收的信息有误,则重新读取。如重复3次仍不行,则显示错误信息。
使用C语言很容易实现以上编程。
主机还可向PLC写数据,进行单点的强近置位和复位。
对于运行在控制和实验室环境飞速下本方案运行可靠、性价比高、体积小、但是对于通信距离长,环境恶劣的发问,需加光电隔离等措施。当您设置软件处于高保护模式下,或者是软件检测到手机的SIM卡已经更换,软件就会启动短信监控功能,您可以向您的手机发送控制短信控制您的手机,软件就会根据指令执行相应的动作。
(一)、控制指令格式:
控制指令格式为:"-命令--密码-"。
前面用两个减号“-”包含控制命令,最后用两个减号“-”包含密码。
(二)、控制命令:
软件目前支持的控制命令如下(说明:控制命令不区分字母大小写):
A)字母“JB”或“jb”:发出报警声,目前暂时使用系统内的铃声。
B)字母“SDX”或“sdx”:删除手机保存的所有短信。
C)字母“STX”或“stx”:删除通讯录。
D)字母“SMT”或“smt”:删除“我的音乐”,“我的”,“我的视频”的内容。
E)字母“SJ”或“sj”:锁定机器。
F)字母“SYS”或“sys”: 删除SDX,STX,SMT的所有内容。
G)字母“DXZF”或“dxzf”:A机器发送命令到B机器(安装防盗软件)后,此后B机器收到的短信将自动转发到A机器上,注意:是发送命令的A机器,不是设置的“安全号码”。
H)字母“LDTX”或“ldtx”:A机器发送命令到B机器(安装防盗软件)后,此后B机器收到的来电将自动发送来电号码到A机器上,注意:是发送命令的A机器,不是设置的“安全号码”。
I)字母“Z”或“z”:命令格式类似-Z张三--123456-,即是寻找目标手机上通信录名字为“张三”的手机号码,该号码通过短信回送给发送命令的手机。支持模糊查询,例如“-Z张--123456-”即可查找姓名中含有“张”的所有联系人方式。
J)字母“TXL”:找回全部通讯录,发送该命令,被盗手机将通过[彩信]的方式回传所有通讯录内容到发送命令的手机,请确保发送命令的手机能够接收[彩信]
(三)、正确的控制指令举例:
1-STX--123456-
2-JB--123456-
3-Z张三--123456-
4-z李四--123456-
注:第一段是命令,第二段123456代表您的密码
(四)、错误的控制指令举例:
1-STH-dfdfg123456-
2-STH--123456
3-STH-123456-
4--STH--123456--
5STH--123456-
6-050--123456-
注:第一段是命令,第二段123456代表您的密码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)