用c语言编写程序实现串口和西门子s7200plc的通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言编写程序实现串口和西门子s7200plc的通信相关的知识,希望对你有一定的参考价值。

参考技术A 这个真不是一句话可以说的清楚的
首先要在PC上实现串口通信用485的口
其次要在200上进行相应的自由口通信编写
不懂的继续!
参考技术B 单片机吧

proteus 论坛有很多实例

pid控制的C语言编程

请专业人士编写一个pid控制的c语言程序,*****请在每条语句后注明详细的解释*****,最好不要在百度上搜一段回复,希望有强人亲自编写一段,感激不尽!

参考技术A #include<unistd.h>
#include<stdio.h>
int main(int argc,int **argv)

int pid=fork();
if(pid==-1)

printf("error");

else if(pid==0)

printf("This is the child process!\n");

else

printf("This is the parent process! child process id=%d\n",pid);

return 0;

首先为什么这段代码gcc编译不了,只能用g++编译,gcc编译显示结果如下
Undefined first referenced
symbol in file
__gxx_personality_v0 /var/tmp//ccuHN8IS.o
ld: fatal: Symbol referencing errors. No output written to t5
collect2: ld returned 1 exit status
其次,g++编译后运行结果如下
This is the parent process! child process id=27406
This is the child process!本回答被提问者采纳
参考技术B #include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar timecount ,PWMH,SpeedSet,SpeedDet;

uchar KP,KI,KD;
int e1,e2,e3,uk,duk;

sbit Dir = P1^0;
sbit PWM = P1^1;
sbit P2_0 = P2^0;
sbit P2_1 = P2^1;

void delay(uchar i)

uchar j;
for(;i > 0; i--)

for(j=29;j > 0;j--)
_nop_();
_nop_();



void PWMout (uchar q)

PWM = 1;
delay(q);
PWM = 0;
delay(100-q);


void timer1() interrupt 3

TH1 = 0x3c;
TL1 = 0xb0;
if(--timecount == 0)

timecount = 4;
TR0 = 0;
SpeedDet = TL0;
TL0 = 0;
TR0 = 1;
e1 = SpeedSet - SpeedDet;
duk = (KP*(e1-e2)+KI*e1+KD*(e1-2*e2+e3))/10;
uk = uk+duk;
if(uk>100) uk = 100;
else if(uk< -100) uk = -100;
if(uk < 0)

PWMH = -uk;
Dir = 0;

else

PWMH = uk;
Dir = 1;

e3 = e2;
e2 = e1;



void main()

TMOD = 0x16;
TH0 = 0;
TL0 = 0;
TH1 = 0x3c;
TL1 = 0xb0;
timecount = 4;
PWMH = 0;
SpeedSet = 80; //设定转速为2000rpm
SpeedDet = 0;
e1 = 0; //对应为PID控制中的
//e(k),e(k-1),e(k-2)
e2 = 0;
e3 = 0;
KP = 10; //对应为PID控制中的
// Kp,K1,Kd
KI = 1;
KD = 2;
TR0 = 1;
TR1 = 1;
ET1 = 1;
EA = 1;
while(1)

PWMout(PWMH);

以上是关于用c语言编写程序实现串口和西门子s7200plc的通信的主要内容,如果未能解决你的问题,请参考以下文章

西门子S7200plc通信不上实际问题和解决方法

C语言读取PLC数据

西门子S7200PLC连接CHNet-S7200PD实现以太网通信配置方法

西门子S7-300 PLC 中如何自己编制PID程序?

怎样使用西门子S7-300编程读取PLC程序

西门子s7 200plc读取51单片机数据