西门子S7-300模块CPU314C-2PN/DP中央处理器
西门子S7-300模块CPU314C-2PN/DP中央处理器
西门子S7-300模块CPU314C-2PN/DP中央处理器
(上海湘康自动化设备中心yanyi321)
上海湘康自动化设备中心 在经营活动中精益求精,具备如下业务优势
SIEMENS/西门子
上海湘康自动化设备中心主营;
工业自动化控制设备,电子元器件,仪器仪表,电线电缆,通信设备及相关产品,电器设备,电气设备,五金交电,电子设备,机电设备及配件,机械设备销售,机械设备安装维修,从事“工业自动化,电子”科技领域内技术开发,技术咨询,技术服务。:
SIEMENS 可编程控制器
1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-200
2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等
3、 SITOP直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A可并联.
4、HMI 触摸屏TD200 TD400C K-TP OP177 TP177,MP277 MP377,
SIEMENS 交、直流传动装置
1、 交流变频器 MICROMASTER系列:MM420、MM430、MM440、G110、G120.
MIDASTER系列:MDV
2、全数字直流调速装置 6RA23、6RA24、6RA28、6RA70、6SE70系列
SIEMENS 数控 伺服
SINUMERIK:801、802S 、802D、802D SL、810D、840D、611U、S120

|
数字量输入/输出模块 |
|
|
诊断报文 |
可能的故障原因 |
|
无传感器输入 |
|
|
无外部辅助电压 |
|
|
无内部辅助电压 |
|
|
保险丝烧断 |
|
|
模块中的参数不正确 |
|
|
时间监控功能已经编址(看门狗) |
|
|
EPROM 故障 |
|
|
RAM 故障 |
|
|
硬件中断丢失 |
|
|
模拟量输入模块 |
|
|
诊断报文 |
可能的故障原因 |
|
无外部负载电压 |
|
|
组态/参数化错误 |
|
|
共模错误 |
|
|
断路 |
|
|
低于测量范围的下限 |
|
|
高于测量范围的上限 |
|
|
模拟量输出模块 |
|
|
诊断报文 |
可能的故障原因 |
|
无外部负载电压 |
|
|
组态/参数化错误 |
|
|
M 短路 |
|
|
断路 |
|
2.如何发送大于128的字符数据
在通信程序中,以单字符方式逐个发送数据时,每一个数据范围 0-255(即十六进制的00-FF)。在单字符版本的英文Win95或DOS版的BASIC程序中,只需要将相应的数据转换成相应的字符发送到通信端口即可。但在中文Win95/98下却行不通,假设在中文Win95/98下运行以下程序:
Dim i
For i=0 to 255
MSComm1.Output=chr(i)
Next i
希望在接收端得到预期的0-255之间的数据,结果却是:前129个数据接收正确,为0-128,后面127个数据为126个0和一个255,造成这种给果的原因在于中文Windows使用的是双字节字符集(DBCS)系统。DBCS系统使用0-128之间的数字表示ASCII字符,大于128的数字仅作为前导字符,它只是显示是一个非拉丁语系的字符,而并不代表实际意义。上述程序在调用CHR()函数时用到了DBCS字符集,冈此产生了此类错误。那么,如何发送人于128的数据呢?答案是使用字符数组,将以上程序改为:
Dim cc(255) As Byte
For i = 0 To 255
cc(i) = i
Next i
MSComm1.Output = cc
Do
DoEvents
Loop Until MSComm1.OutBufferCount = 0
'接收过程 MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer As Variant, b1,i
MSComm1.InputMode=comInputModeBinery
MSComm1.InputLen = 0
Buffer = MSComm1.Input
For i=LBound (Buffer) To UBound (Buffer )
Debug.Print Buffer ( i ) ;
Next i
Case . . . . .
3.如何发送0字符(00H,NULL)
在VisuaI C++中使用串口控件发送0字符有些麻烦,但在VB5.0/6.0中只要注意以下两点即可:
(1)设置MSComm控件的属性 NullDiscard=False;。
(2)使用二进制接收,即用 MSComm1.InputMode=ComInputModeBinary便可以解决问题;
4.如何发送递中文字符串(DBcS字符)
VB5.0/6.0的各种参考书上均指明MSComm通信控件不能发送或接收双字节字符集系统DBCS)的二进制数据,这对于我国及亚洲一些使用DBCS字符集的不能不说是一大人遗憾。但是我在实践中发现,用MSComm控件也可以发送中文字符,具体方法有以下两种:
(1)直接发送
直接发送即把中文字符等同于英文字符。如:MSComm1.Intput= " 这是一行中文数据!" ,但这种方法发送的中文数据不能太长,发送缓冲区和接收缓冲区的大小需设定为中文字符的两倍以上,而且发送与接收系统所处的操作系统版本好要一致,否则会出现接收或发送缓冲区溢出之类的错误。这种方法时用于一般要求不太高的场合。
(2)间接发送
在发送端将汉字或字符转换为机器内码或区位码数据数组,然后将咏转换后的数据发送到串口,在接收端接收到数据后,按照相反的顺序得到的数据转换为相应的汉字或字符,在转换过程中.要用到位运算,如取得汉字的内码后需要将高字节和低字节分开,而VB5.0/6.0中并没有提供此类函数,以下是求整数高、低字节的函数。
Public Function HiByte(a As Integer )
Dim b
b= a And &HFF00
b = b / 256
If b<0 Then b = b + 256
HiByte = b
End Function
Public Function LowByte(a As Integ`er)
Dim b
b = a And &HFF
LowByte = b
End Function
5.如何用单机进行通信测试
通常在写好了通信程序后需要两台PC或一台Pc、一台单片机.将通信口连接后进行测试,但很多时侯因条件限制仅有单台PC机,测试项目很简单,那么能否测试呢?当然可以,而且方法也很简单。对于九针的串口,找一个废弃的串口鼠标,剥外鼠标线,将连接2、3针的线对接即可;对于25针的串口,找一枚曲别针(好有塑料外套的)将它扯直,剥削去两头的塑料后在两头各弯一个圆圈,中间对忻后直接套接在串口的2、3针上即可。如果但心不够安全,则可以将5针按地
