请用plc BIN(二进制)算术运算指令编程:5600—(665+760)*2002/240要求x1闭合时开始运算x0闭合全部清零

\u7f16\u5199\u7a0b\u5e8f\uff0c\u7528\u4e8c\u8fdb\u5236\u65b9\u5f0f\u8bfb\u5199\u6307\u5b9a\u7684\u6587\u4ef6a.bin\uff0c\u5728\u6bcf\u4e00\u884c\u524d\u52a0\u884c\u53f7\uff0c\u5199\u5165\u53e6\u4e00\u4e2a\u4e8c\u8fdb\u5236\u6587\u4ef6b.bin\u4e2d.

#include
#include
#include
#include
#include
using namespace std;

void new_line(ifstream& fin,char& temp);

int main(int argc,char *argv[])
{
ifstream fin;
ofstream fout;

int num_line=1;
char temp,inFileName[128];
string buffer;

if(argc==1)
{
printf("\u8bf7\u7528\u683c\u5f0f:SetLineNUm filename\n");
exit(0);
}
else
{
strcpy(inFileName,argv[1]);
}


cout<<"\u6b63\u6253\u5f00\u8f93\u5165\u6587\u4ef6...\n";
fin.open(inFileName); //\u6253\u5f00\u8f93\u5165\u6587\u4ef6
if(fin.fail())
{
cout<<"\u8f93\u5165\u6587\u4ef6\u6253\u5f00\u5931\u8d25!\n";
exit(1);
}

cout<<"\u6b63\u6253\u5f00\u8f93\u51fa\u6587\u4ef6...\n";
fout.open("output.txt"); //\u6253\u5f00\u8f93\u51fa\u6587\u4ef6
if(fout.fail())
{
cout<<"\u8f93\u51fa\u6587\u4ef6\u6253\u5f00\u5931\u8d25!\n";
exit(1);
}

do
{
new_line(fin,temp);
getline(fin,buffer);

if(buffer.length()>0)
{
fout<<setw(3)<<num_line++<<": "; //\u8bbe\u7f6e\u884c\u53f7
fout<<buffer;
fout<<endl;
}

} while(!fin.eof());

fin.close(); //\u5173\u95ed\u6587\u4ef6
fout.close();

cout<<"\u6210\u529f\u5173\u95ed\u8f93\u5165\u8f93\u51fa\u6587\u4ef6\u3002\n";
cout<<"\u7a0b\u5e8f\u7ed3\u675f\u3002\n";

return 0;
}


void new_line(ifstream& fin,char& temp)
{
do //\u8df3\u8fc7\u884c\u9996\u7a7a\u683c\u548c\u7a7a\u884c
{
fin.get(temp);

}while(isspace(temp));

}


ROM\u7a7a\u95f4\u8bbe\u7f6e\u95ee\u9898\uff0cFlash\u7a7a\u95f4\u6ca1\u6709\u5b8c\u5168\u8986
F:\Work1\work\keil\IFlash\\uff0c\u6587\u4ef6\u5bb6\u4e2d\u6709\u540c\u540d\u6587\u4ef6\uff0c\u5220\u9664\u540e\u518d\u5168\u90e8\u91cd\u65b0\u7f16\u8bd1\u4e00\u6b21\u5373\u53ef\u3002

LD I0.0
MOVW +665, VW100
+I +760, VW100
MOVW VW100, VW120
*I +2002, VW120
MOVW VW120, VW140
/I +240, VW140
MOVW +5600, VW160
-I VW140, VW160

网络二
LD I0.1
MOVW 0, VW100
MOVW 0, VW120
MOVW 0, VW140
MOVW 0, VW160

说明:vw160 中的数值为计算结果
当I0.0为1时开始计算
当I0.1为1时所有存储区清零

画梯形图就是编写程序啊。那个老兄用的西门子的,我用三菱的给你写了一个。把这些指令写到软件里面去变换一下,就变成梯形图了。
ld x1
add k665 k760 d0
mul d0 k2002 d2
div d2 k240 d4
sub k5600 d4 d6
ld x0
fmov k0 d0 k8

扩展阅读:plc基础知识指令27个 ... 三菱q系列plc指令完整版 ... 二进制对照表大全 ... bin和bcd运算的区别 ... 三菱plc中bin是什么意思 ... bcd码与bin码是什么 ... 进制转换器 ... 三菱plc bin指令 ... 十六进制计算在线 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网