用户登录
用户注册

分享至

stringtodword

  • 作者: 嗨丶小公主快出来嘿嘿嘿
  • 来源: 51数据库
  • 2020-06-05

1. 如何将string转换为dword输出到profibus总线

到PROFIBUS-DP 的协议转换接口的软硬件设计思想及其实现过程。

关键字:现场总线 通信协议 接口 SPC3 分类号:TP273 0. 前言: PROFIBUS 是一种国际化、开放式、不依赖于设备生产商的现场总线标准,广泛适用于 制造业自动化、流程工业自动化和楼宇、交通、电力等其他领域自动化。基于现场总线的控 制系统要求现场仪表及设备必须具有现场通信能力,而我国目前的实际情况是:多数传统仪 表及现场设备并不具备现场总线接口,而完全使用国外进口设备将会使系统成本过高。

如何 将大量的传统仪器设备连接到PROFIBUS 总线上,实现PROFIBUS 主站与传统设备之间通 信数据透明传送,成为广大用户急于要解决的问题。如:具有RS-232 接口的现场测量设备 及仪表等,如何使其成为 PROFIBUS 总线上的一个从站。

本文所讲述的这个接口产品就是 处理从RS-232 到PROFIBUS-DP 的协议转换,起到一个桥的作用,我们称之为总线桥。 1. PROFIBUS-DP网络协议 PROFIBUS 的网络协议是以 ISO 颁布的 OSI 标准七层参考模型为基础的,只是对第三 层到第六层进行简化。

它的三种模块(FMS、DP 和PA)可以适应不同的应用对象和通信速 率方面的要求,开放性也好。但它们均使用一致的总线存取协议,该协议是通过 OSI 参考 模型第二层(数据链路层)来实现的,它包括了保证数据可靠性技术及传输协议和报文处理。

数据链路层协议媒体访问控制(MAL)部分采用受控访问的令牌总线(Token Bus)和 主从方式。其中令牌总线与局域网IEEE8024 协议一致,令牌在总线上的各主站间传递,持 有令牌的主站获得总线控制权,该主站依照关系表与从站或与其他主站进行通信。

主从方式 用于主站和从站间通信,其工作特点是:总线上一个主站控制着多个从站,主站与每一个从 站建立一条逻辑链路;主站发出命令(Command),从站给出响应(response);从站可以连 续发送多个帧,直到无信息发送、达到发送数量或被主站停止为止。数据链路中帧的传输过 程分为三个阶段:数据链路建立、帧传输和链路释放。

PROFIBUS-DP 并未采用ISO/OSI 的 应用层,而是自行设置一用户层。该层定义了 DP 的功能、规范与扩展要求等。

DP 物理层 与ISO/OSI 参考模型的第一层相同,采用RS-485 传输技术。 2. RS-232设备通信协议 RS-232 只是设备通信物理层的一个标准,因此PROFIBUS 主站必须向RS-232 设备传 送它能够理解的数据,这就是 RS-232 设备的通信协议。

所以,为实现 PROFIBUS 主站与 RS-232 设备的有效数据通信,PROFIBUS 主站编程人员应该了解RS-232 设备的通信协议。 RS-232 设备的通信协议通常有以下两类: (1)具有应答关系和若干通信指令的通信协议 这是应用比较广泛的通信格式,通信数据可以是 ASIIC 码或二进制数据。

对于这种设 备,既有发送又有接收。用户在主站编程,按照协议规定的报文格式将通信数据填入RS-232 总线桥的PROFIBUS 数据输出区,通过所产生的中断启动转换接口将通信数据发送到设备, 然后总线桥自动转入接收状态。

当总线桥数据全部接收完RS-232 设备的回答报文数据后, 将回答报文数据自动填入PROFIBUS 数据输入区,这样,PROFIBUS 主站可以在PROFIBUS 数据输入区得到RS-232 设备的回答报文数据。

2. 如何把string转化为wchar

测试环境: vs2008

开发语言:C++

#include

#include

#include

// wchar_t to string

void Wchar_tToString(std::string& szDst, wchar_t *wchar)

{

wchar_t * wText = wchar;

DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE);// WideCharToMultiByte的运用

char *psText; // psText为char*的临时数组,作为赋值给std::string的中间变量

psText = new char[dwNum];

WideCharToMultiByte (CP_OEMCP,NULL,wText,-1,psText,dwNum,NULL,FALSE);// WideCharToMultiByte的再次运用

szDst = psText;// std::string赋值

delete []psText;// psText的清除

3. 如何将string转化成wchar

测试环境: vs2008

开发语言:C++

#include <iostream>

#include <windows.h>

#include <string>

// wchar_t to string

void Wchar_tToString(std::string& szDst, wchar_t *wchar)

{

wchar_t * wText = wchar;

DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE);// WideCharToMultiByte的运用

char *psText; // psText为char*的临时数组,作为赋值给std::string的中间变量

psText = new char[dwNum];

WideCharToMultiByte (CP_OEMCP,NULL,wText,-1,psText,dwNum,NULL,FALSE);// WideCharToMultiByte的再次运用

szDst = psText;// std::string赋值

delete []psText;// psText的清除

4. java问题,参数String

那是可变参数,可以接受任意多个参数 类型是String

我给你写了个例子,你看一下就知道了.

public static void fun(int。 x) {

for(int i = 0;i < x.length;i++) { System.out.print(x[i] + ","); } } public static void main(String args[]) throws Exception{ fun(5); System.out.println(""); fun(5,6); System.out.println(""); fun(5,6,7); }

5. string to real是什么

首先c#里边没有real, 你可以用double,decimal或者float,

你应该是想问怎么把string类型转换为上述类型之一是把?

3者都有静态方法parse.例如:

string s = "1.22";

float i;

i = float.Parse(s);

考虑到有可能转换不成功,你应该加个try。catch,或者你也可以用TryParse方法

string s = "1.22";

float i;

if (!float.TryParse(s, out i)){

i = -1;

}

6. 在Java中String和toString有什么区别

String是java的一个最终类,不能被继承的。它的作用是构造字符串,用法就是 String str = new String(),这样得到的是一个空字符串,String str = new String(“aa”),这样就得到一个通过构造函数构造的字符串“aa”,当然为了方便java允许像基本类型那样使用,就是String s = "aa" 。

toString(),是Object基类的一个输出字符串的方法,任何类都会继承这个方法,如果不重写,那么它就会输出类名+@+hashCode值

转载请注明出处51数据库 » stringtodword

软件
前端设计
程序设计
Java相关