以下是3579天前的记录
自动化系统
61 2014年07月22日 星期二在一小时内使温度按照某一特定曲线均匀上升到150度后保持稳定?
西门子工业业务领域 (0)菜鸟:现在有个客户要让燃气炉在1个小时内按照曲线均匀上升止150摄氏度后保持稳定!时间有时候根据环境温度,还有所调整!如果时间段确定好后,在环境温度的基础上升止150摄氏度的速度不能快,也不能慢!例如环境温度(夏天)是37摄氏度,要上升止150,时间是1小时,那就是在1小时这个时间段正好让温度上升(150-35)=115摄氏度!引深一下就是:在经过某段时间(可变)使温度正好上升止某个值然后稳定下来,温升过程是匀速的!这个用PID可以控制吗?请各位前辈谈谈思路!有做过此类项目的就更好了!侠客:可以,只是设定值时变化的。大虾:可以参考下仪表的此类功能。侠士:升、降温曲线控制是常规的温度控制要求,你画个曲线就能理解了。然后用你的程序替换你的笔把这条曲线画出来。这实际是个算法程序,输出至温控PID的SP。侠客:这哪是燃气炉,直接是实验炉,对速率还有要求!大虾:把SP减当前室温,再把这个值除以设定时间,换算成 度/ms在PLC里,建个OB循环组织块,设定循环时间(比如:50MS),把前面换算的 度/MS乘以50MS,就得到每50MS的温度值,把这个温度在OB块里做累加,这个累加值给PID温度设定
对拷网络线用Pack&Go向smar1000IE下载项目时电脑和触摸屏无反应
西门子工业业务领域 (0)菜鸟:各位大虾:我生成了Pack&Go数据包,利用对拷网络线向smar1000IE下载项目时,电脑和触摸屏无反应,电脑传送窗口马上关闭。我在winccflexible2008SP4用对拷网线直接下载项目是正常的,何故?我的操作步骤:1、用Pack&Go生成压缩包。2、将压缩包解压。3、网络对拷线和电脑连接。3、将smar1000IEtransfer开启4、运行解压后的StartTransfer.bat5、电脑上点transfer(此时,触摸屏无反应,还是显示connecting to host ... ...电脑的Pack&Go窗口立即关闭)不知道哪位大侠用过Pack&Go?大虾:既然WinCC没问题,那说明网线是没有问题的另外,请检查杀毒软件,bat批处理对杀软来说需要严密监视斑竹:应该是执行有错误。在dos窗口下运行批处理文件,就可以看到错误信息了,而不是像双击运行时一闪而过了菜鸟::用Pack & Go向smart700IE下载项目时,无反应2014-07-21 10:31:58 5楼 以下是引用清风无月在2014-07-04 15:21:53的发言 >4楼:你是不是Pack &
关于IO站故障
西门子工业业务领域 (0)300 使用step7 v5.5 组态 1200 通过tia v12 组态,下载后dp 始终不能联网。300 CPU BF SF 灯亮1200 模块ERROR 闪烁组态按手册组的 1200 中S7 子网ID 是按照 300 组态中的地址设置的!现在始终无法连接成功!1200 诊断信息如下:故障:IO 站故障>HW_ID= 275CPU 错误:过程映像更新过程中发生新的 I/O 访问错误/n输入 2(2 字节)将暂时不作为过程映像 0 更新的一部分进行更新>> HW_ID= 277 - 对象管理系统另外吐槽一句,TIA 的界面真的好烂啊,对于小屏幕操作那真的是 无语啊!------------------------------------------------------------------------------楼主的做法不可以。博图和STEP7是两个系统。STEP 7内必须加载S7-1200的GSD文件才行。或者,楼主全部用博图做。另外,吐槽没用,换全高清的本本才是正道。-----------------------------------------------------
S7 300 程序块或逻辑块在线下载会影响生产吗
西门子工业业务领域 (0)菜鸟:S7 300 程序块 或逻辑块在线下载,修改某个逻辑块的参数,或增加逻辑块,直接可以下载?,修改什么可以在线下载呢,怎么操作的,谢谢大虾:用STEP7的时候,直接修改后在线监控,STEP7会提示在线程序与离线程序不一致,点确定同步即可。菜鸟:今天同事修改FC块,包含流量累积逻辑和联锁,在线下装后,累积正常,没清零,也没有跳车。不知还有什么内容可以在线下装。大虾:只要你对程序足够了解,一般的程序修改后都可以在线下载,不过这样做是有风险的,因为程序在线下载后会立即被执行,除非你对你的程序非常了解,否则*好不要这样做!只修改程序,不下载硬件,一般不会停机。如果没有把握的话。但是为了生产**,可以不生产的时候再改ob,fc,fb,db在没有增减参数的情况下都可以直接下载。游民:不清楚修改什么CPU会停,我们需要的是,在线换通道,包括AI,DI,都改些什么,我见过不停车修改的,但不知道改些什么。下载程序一般不会导致CPU停机,影不影响生产只与你的程序功能有关
以下是3583天前的记录
自动化系统
62 2014年07月18日 星期五用Pack & Go向smart700IE下载项目时无反应
西门子工业业务领域 (0)菜鸟:各位大虾: 我生成了Pack & Go数据包,利用对拷网络线向smar1000IE下载项目时,电脑和触摸屏无反应,电脑传送窗口马上关闭。我在wincc flexible 2008 SP4用对拷网线直接下载项目是正常的,何故?我的操作步骤:1、用Pack & Go生成压缩包。2、将压缩包解压。3、网络对拷线和电脑连接。3、将smar1000IE transfer 开启4、运行解压后的StartTransfer.bat5、电脑上点transfer (此时,触摸屏无反应,电脑的Pack & Go窗口立即关闭)大虾:屏的传送设置有没有设菜鸟:我屏的传送设置,与wincc flexible 2008 SP4中传输时(同一台电脑)的一样,已经排除了网络和硬件问题,因为已经用网络线传送过数据。不知道哪位大侠用过Pack&Go?大虾:Pack&Go应该是没什么花头的啊你是不是Pack & Go数据包放在桌面或者内部的文件夹里了,要不你试试把数据包放在*外层文件夹里,我好像记得我那次用的时候也出现过这样的事,不过是很久以前了,记不清了,你试试吧菜鸟:非常感谢您!使用了您的办法,解决了!还有这样的讲
如何对S7-1200 背景DB内的连续位进行置为复位?
西门子工业业务领域 (0)菜鸟提问:请教,如何对S7 1200的背景DB内的连续位进行置位复位操作啊。我以前用的S7-200,置位复位只需要改下标就行,类似于S7-1200中的置位复位位域操作。但是为什么S7 1200中的置为复位位域不能对背景DB内的位进行操作呢?比如%DB2.DBX25.1这样的地址就不行,但是全局变量就可以。有没有什么变通的方法?大虾:不知道你用什么语言编程的 LAD?如果LAD中的指令解决不了,就用SCL来写个FC。尤其是许多对 “位” 的操作。菜鸟:还不太会呢,我现在是一个一个置为复位,先应付下,后面来仔细研究,谢谢!大虾:实际上,TIA是不推荐使用**地址(300兼容模式)的。*好使用变量名(优化的),由编译器来分配存储空间。连续位也是可以用:位数组来替代。FB也是函数,其背景DB中的数据也只能在FB中调用FC、FB处理。侠客:是的。同意Z版的意见。(其实,实际上我也喜欢用像楼主那样的“笨办法”,而不是过多的去关注“技巧”)这种“直观、明示”的程序段,在检查、调试起来也非常方便。
关于plc通信的问题
西门子工业业务领域 (0)菜鸟提问:在做plc实验的时候遇到这样几个问题:实验内容有2部分:1 串口1接收数据(9个字节、规定了起始位和结束位的字符),收到数据然后串口0发回数据,同时串口1发回数据(内容和收到的相同);2 串口0接收数据,然后串口1发回数据。串口0没有问题,问题出在串口1上,(1)如果我是发送间隔20ms的9个字节的数据有时候回自动停止发回数据(但还在向串口1发送数据)。(2)首先我发送一个有起始、结束位的9个字节的数据(中间不包含结束位字节)串口1可以收到数据,但是发送的是:有起始位,无结束位9字节;有起始位、结束位、小于9字节;有起始位,无结束位9字节数据;以上三种数据时,都收不到串口1发回的信息,然后我再发送符合规定的9字节信息,此时收不到串口1的信息,要将plc手动停止再运行,或者向串口0发送符合规定的数据后,这个时候向串口1发送9位有起始位结束位数据,才能收到串口1发回来的信息。问题描述完了,按理来说串口1收到错误数据之后再接收到正确的数据,应该会发回数据。请各路大神帮忙看看问题出在哪里,如过我有描述不清楚的地方请大神们提出来,我在后面补充。斑竹:看了十几遍,不明白你说的。菜鸟:程序
如何解决S5的CPU944死机
西门子工业业务领域 (0)菜鸟:单位现有一台比较老的设备用的S5-944的CPU 6ES5 816-1AA11。现场*近干活比较多,好几天没有停机了,有时候干活的时候CPU停止了,上面的几个红灯都亮了。但是把那个STOP和RUN的选择开关CPU能重新启动,比较奇怪的是外围的动作基本不受影响,能接着干活。这上面还扩展了两个从站,还做了一个屏幕显示状态,上面大概挂了300个点左右的。这个CPU944不知道能不能用6ES5 944-3UA11和6ES6 955-3UA12替换。我查了一下,像是816的是以前旧的版本。不知道这能不能直接替换的,这里面还设计到模拟量的处理,机架上面还带了3个CP525。向大家请教一下这个能不能直接替换的?先谢谢大家了,如果不能直接替换,问题会出现在什么地方呢。水平还不够,不能独立解决问题,希望大家多多指点!侠客:先查看一下堆栈里面的报警内容吧菜鸟:由于现场一直赶着产量,没有用电脑看看里面的内容。侠客“1,建议先查看一下堆栈里面的报警内容吧2,你现场的 CPU 6ES5 816-1AA11 与 6ES5 944-3UA11和6ES6 955-3UA12 是不一样的吧3,CPU 几个灯都亮是
以下是3584天前的记录
自动化系统
63 2014年07月17日 星期四STEP5.5SP3 FC块只能监控“前半部分”的原因
西门子工业业务领域 (0)菜鸟:STEP5.5SP3,普通的逻辑块。昨天,很普通的**,打开一个FC,监控,往下拉,居然出现故障退出监控了。经过反复测试,只要在NW15位置就会报故障并退出监控,离线状态拉倒*后点击监控也报警,代码33:53343。从帮助信息没看出什么,那就先看看和在线比较下,居然还真的不一致,可是,这个FC前半部分是可以监控的啊?!而且,看了半天,也不知道区别在哪里 ⊙﹏⊙打开以前的备份(本人是很喜欢备份的^_^),监控正常,没问题的。当时想,或许什么时候不小心改了什么吧。但想想又不对,首先这个FC是前部分是可以监控的,而且就算离线/在线不一致,也应该报警“离线/在线不一致,是否下载并监控”什么的吧?!斑竹:备份可以监控,新的只有前半部分可以。那比较备份和新的FC试试,该FC时间完全一样的。换个姿势比较,也是一样的。菜鸟:经历了关闭其他程序,重启,甚至试图用其他机子测试(因版本太低认不到硬件,放弃了)、上网查33:53343等等......都没有结果,*后想想,有明确的代码,就问问西门子吧。西门子工程师的意思:从故障代码看,是资源已经使用殆尽,建议关闭其他FC等等。就单凭故障代码,很难知道具体
调试程序cp341问题
西门子工业业务领域 (0)菜鸟:以前用过cp341 加狗的modbus RTU通讯,这几天调试程序,发现放在153-1的CP341轮询一段事件后,收发灯停止,而跟在CPU的导轨上的CP341 modbus通讯正常,调试几天以为程序有问题,两模块互换程序后,还是放在153-1的CP341出现收发灯不亮的事情,跟着CPU导轨的CP341依然通讯良好。后来怀疑CP341或加的硬狗有问题,但互换后依然是IM153-1上的CP341有问题,当然其中认为有干扰(与变频器通讯)但把接在两CP341的线路互换,依然是IM153-1上的CP341还是收发一段时间后,收发灯不亮了。再后来咨询西门子供货商的技术怀疑IM153-1上连接CP341的总线连接器有问题,但更换后问题依旧。实在心焦的时候,突然有个注意,把IM1531-1的CP341也移到CPU的导轨上后,奇迹出现了,这个CP341通讯良好了,正常了。按道理这种现象不会出现,简直是坑爹阿。但至今未找到原因。游民:你组态的IM153定货号和版本与硬件一致吗?菜鸟:你能否把你的 系统配置说的详细些呢?你把IM1531-1的CP341也移到CPU的导轨上后,问题解决了,你有没有比较
S7-200自由口通讯问题
西门子工业业务领域 (0)菜鸟:现场是一台电子秤和226CPU,PLC和电子秤进行通讯的时候,同时让串口调试软件监控,问题来了,在串口调试软件上面显示,PLC能够给电子秤发送数据,串口调试软件也接收到电子秤发回过来的数据了,但是在PLC端却没有接收到数据,这是为什么呢,请大家帮帮忙,谢谢,PLC单独和串口调试软件测试收发都能够实现斑竹:1、接口要正确,也就是PLC是485,电子称也要485。2、通讯协议包括内容和定时要求,串口调试程序可以调内容,定时一般不好模拟。大虾:是你的PLC接受程序有问题。可以先用串口软件模拟发送数据给PLC,测试PLC的数据收发没有问题了,再连接仪表!斑竹:PLC端没有收到数的标志是什么?PLC没有动作?其实您无法判断PLC是否收到数据,如果您不编程!您监控一下SMB2,看看有没有变化。大虾:电子秤的信号直接用Siwarex MS模块处理,通讯就简单多了。CPU可以直接读到重量值。
两个CPU 315-2PN/DP的S7通讯链接问题
西门子工业业务领域 (0)菜鸟:两个CPU 315-2PN/DP的S7通讯,PN连接,组态网络S7连接,其中站点1地址192.168.2.1,站点2地址192.168.2.2,在站点1调用“Standard Library”下“Commounication Blocks”的FB12,同样在站点2调用FB13,但是用仿真健康显示FB12的正常,FB13报故障代码1,向各位大师请教下。另外300的PLC的上升沿和200的不一样,不能利用“error”的上升沿“抓”FB12发送时的“status”,有其他方法可以“抓”吗?仿真软件是5.4的SP4,编程软件是V5.5。大虾:300的边沿指令需要指定一个标志位,这个标志位不能在别的程序中有写的操作,每个边沿指令需要一个独立的标志位。200中的这个标志位是系统自动分配的菜鸟:300的这个上升沿,检测到上升沿后即使此时的bool不是1,上升沿后的线圈还是1,相当于置位了。我现在想在“error”为1的瞬间抓住“status”,将“status”的代码传到MW100,由于上升沿的问题,抓不住status的瞬间值。。。怎么办?大虾:300cpu不能仿真通讯,只有400行,我问过
以下是3586天前的记录
自动化系统
64 2014年07月15日 星期二使用300plc问题
西门子工业业务领域 (0)菜鸟:**次使用300plc ,各位见谅哦。看到手册里这样的一段话:4 在向上计数时达到比较值 15 在向下计数时达到比较值 16 在向上计数时达到比较值 27 在向下计数时达到比较值 2想问一下这个“比较值*”可以再中断程序里更改吗?或者直接定义成每增加**个,执行一次中断,请大侠指点一下。谢谢。手里没有硬件,之前没用过300plc,不能确定有没有这样的功能,只看见中断字样,没有实际测试过。万一没有,买回来用不上,事就不好办了,哪位仁兄用过,麻烦告诉一声。游民:看了手册还不知道能用不能用吗?我说能用,你能信吗?菜鸟:信啊,问什么不信呢,我没有实践过,我不能确定,版主应该用过吧。看了手册就得知道啊,什么道理,手册太多,看的不一定是版主所指的那个,版主你看的是哪个呢?游民:有一罐饮料,包装上标明了主要成份糖的含量,而你看了以后却说:“我不能确定这是甜的还是咸的,我得打开尝一下才能知道。”难道什么事都要试一遍才能知道吗结果吗?通过手册是可以得出一个基本的判断的,能用还是不能用。西门子所有的高速计数都可以满足你的应用要求,只是用法略有不同。从菜鸟:循循善诱啊
S7-200里面怎么实现批量处理功能?
西门子工业业务领域 (0)我想实现这样的功能,比如有50个字,从VW2000到VW209,VW2000=0时,VW10=1VW2002=0时,VW10=1VW2004=0时,VW10=1...............VW2098=0时,VW10=1如果一条条程序写的话要50行,很麻烦。这还是50个字的批量比较,如果200个字的呢,那岂不是要200行。所以请问下S7-200里面怎么实现批量处理功能? ------------------------------------------------------------------------------那就是说任何一个字等于0的时候vw10都等于1了? LD SM0.1MOVD &VB2000, LD0LDW= *LD0, 0MOVW 1, VW10LD SM0.0+D 2, LD0LDW>= LW2, 2098MOVD &VB2000, LD0 ------------------------------------------------------------------------------芳季大哥,请问*后面为什么用>= 呢?不是应该--------
关于S7-200指针编程问题
西门子工业业务领域 (0)菜鸟:请教个问题:现在我有3组输入数据群,一组是从VW2000开始到VW2098,一组是从VW2100开始到VW2198,一组是从VW2200开始到VW2298,每组都是50个字的输入数据,每个字的输入数据代表一格(从1到50),另外VW250表示格数。当VW2000/VW2100/VW2200有输入数据时,VW250为1当VW2002/VW2102/VW2202有输入数据时,VW250为2当VW2004/VW2104/VW2204有输入数据时,VW250为3··············当VW2098/VW2198/VW2298有输入数据时,VW250为50当这些输入框没有输入数据时,VW250为0另外可以修改格数,修改后为当前格并且把当前格的数据更新请问怎么实现,怎么编程呢?斑竹:用指针循环http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=79564&cid=1028菜鸟:这是我照着手册做的,请大家看下对不对LD Always_On:SM0.0MOVD &VB2000, AC1ITD VW250, AC0*D
1个S7-1200和7个S7-1200之间的通讯问题
西门子工业业务领域 (0)菜鸟:用开放式通讯指令TRCV 、TCON、TSEND进行通讯发现通讯上五个之后剩余两个通讯不上,分别报80A1和80C4的错误,请指教。大虾:查查连接是怎么分配的?有8个连接可以同时使用。这两台似乎用了其他已经在用的接口。菜鸟:做的时候是这样的,其中的一个PLC写了7套上述的通讯指令,剩余的7个PLC各写了一套,其中用7套指令PLC中的TCON指令中的CONNECT用了7个不同的DB、和ID,分别对应7个PLC的DB和ID,结果通了5个之后其余两个怎么也通不上,查了和其他指令中的TCON的连接包括ID并没有冲突。大虾:连接达到*大报的应该不是这个错误。菜鸟:不是连接数达到*大。这是异步通讯。而且一个通道也不是只能对指定的对方。也可以断开和另外一个建立连接。一对多,也可以是多方主动建立连接。如果按你说的,7台分别使用的不同的ID“通道”。不应该!是固定的两台出问题?这7套数据结构都是一样的吗?大虾:是固定两台出问题,数据结构都是一样的,用的也是多方主动建立连接,游民:试试把没问题的5台删除,另存一个项目、编译下载看看是否正常?如果还有问题,就在这三台里找问题。如果没问题那就看看是否是下
以下是3587天前的记录
自动化系统
65 2014年07月14日 星期一关于PLC开机时间统计的问题
西门子工业业务领域 (0)菜鸟:客户提出要统计每台设备每天的工作时间(昨天运行多少小时多少分钟,今天已运行多少小时多少分钟),设备可能每天开关机很多次的,请问这程序怎么写,大虾们,提提意见。现在我用SFC1已经读取了PLC的当前时间 格式为DATE_AND_TIME,请大家给个思路,谢谢。斑竹:楼主可以参考一下:1、先做一个秒计时器,设备工作,计时器使能,开始累加秒数;反之不累加;把累加的秒数转换成时、分输出保持到X1(注:以上功能可以做个FC,以便多次调用)。2、日期和时间中断设置成每天23:59:59这个时刻执行,将当前的X1存储到Y1,并将X1清零。Y1就是设备昨天的工作时间,X1就是今天设备的工作时间。直接用ob35等中断(比如周期100ms)来实现计时:A RUNJCN M1L 0.1L RUNTIME+rt RUNTIME//单位是sM1:NOP 0A RESETJCN M2R REST//上位机每晚12点置位变量连接这个地址L 0.0T RUNTIMEM2:NOP 0处理的方式还是很多的菜鸟:谢谢!想问下,打个比方,我PLC晚上8点就关电了,日期和时间中断设置的晚上12点的时候怎么执行?统计的时间
关于西门子低端产品1200和200smart发展
西门子工业业务领域 (0)菜鸟:近期由于有个项目,不知道具体选1200还是200smart,所以两个型号的PLC各买了两台拿回办公室做实验。先说200smart,这个很适合我的这个项目的应用,200smartCPU自身带个串口,支持modbus rtu和PPI,这样满足了我要和智能仪表(或支持PPI的西门子触摸屏)的通讯。(注:共7台CPU,三台连接触摸屏,四台连接仪表),另外所有的CPU可以通过自带的以太网口组网与上位机通讯(对于200smart,做了两台通过TCP/IP与组态王通讯成功,具体七台还没试,但理论上应该可以吧)。这就是200smart.再说1200,与仪表通讯走modbus rtu,扩展了通讯模块CM1214,通讯正常。问题在于接下来与上位机通讯同时连接触摸屏怎么处理。由于设备间距离较远,放弃CPU经过交换机后再与触摸屏通讯的想法。又由于1200扩展的串口不支持MPI/PPI协议,所以与触摸屏只能以太网或者DP,这样只能扩展DP模块,或者买个 DC电源的1215,两个网口,可以同时连接触摸屏和上位机。选200smart又显得不够高大上,又传闻200smart推出后效果不佳,西门子不准备做了。选1
以下是3590天前的记录
自动化系统
66 2014年07月11日 星期五关于DB区数据保存问题
西门子工业业务领域 (0)菜鸟:在调试西门子PLC程序时,经常需要下载程序,如果下载程序,DB数据区的数值会丢失,我怎么才可以把DB数据区里面的数据另外保存起来,我程序下进PLC后,再把数据导入PLC,这样就不用一个一个的输入了。请问各位大侠,有没有好的方法啊?大虾:可以选择不下载这个DB块或者可以把这个DB快的值赋初始值修改程序不要下载整个程序,也就是不下载DB块。菜鸟:恩,这个我知道,但是有时候需要改变数据类型,增加变量什么的,需要重新下载啊?大虾:那就另建一个DB,可以多建点不同类型的变量备用。斑竹:分别建数据块,另建一个数据块做修改用大虾:使用SFC 21 "FILL"初始化存储区使用 SFC 21 "FILL",可以初始化一个存储区(目标区域),数据采用另一个存储区(源区域)的内容。此 SFC拷贝数据直到充满整个存储区。http://ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=100431&cid=1027http://support.automation.siemens.com/CN/view/zh/1214574
利用200编程关于实时速度的求取有什么想法?
西门子工业业务领域 (0)菜鸟:公司近段时间让我编写一程序。只有位移传感器。要求设备的移动速度?大家有什么意见?侠士:有什么意见?单位时间里面移动的距离就是速度了。菜鸟:感谢您的回复。您的意思我明白。我现在有的设备就是一位移传感器。通过模拟量模块EM231采集到CPU中进行处理。计算出主轴移动速度。因为主轴移动不是匀速。对方要求的是加载缸每分钟的移动速度。侠士:不匀速也没有影响速度计算的方法。你明了我什么的意思呢?你说说你明白的意思之下的计算过程啦,假设不是这个情况,其他假设的情况的速度又是怎么算的?速度=单位时间内的位移。测量的时间足够短,你就可以认为是瞬时速度了,但是测量时间短了,相对的误差也大量。测量时间需要在精度和实时性上找找一个平衡点菜鸟:shine的想法是我的想法。我现在就是想问一下,如何在程序编程中找到这个平衡点。我现在应用了一个时间中断程序。但效果不是很理想。如何……平衡点。什么平衡点?能解释一下不?
关于0-20mA与4-20mA量程选择的区别
西门子工业业务领域 (0)菜鸟:在模拟量输入时,量程选择为0-20mA和4-20mA有什么区别,当选择0-20时,对应的电信号是不是0-27648;而当选择4-20mA时,电信号是0-27648,还是5529-27648。斑竹:0 ~ 20 mA 信号对应测量值为 0 ~ 276484 ~ 20 mA 信号对应测量值为 5530 ~ 27648菜鸟:谢谢,已经弄清楚了,Z版主说的是对的。斑竹:你还可以看看本站这个网址http://www.automation.siemens.com.cn/Service/answer/solution.aspx?Q_ID=106220&cid=1029游民:200的PLC对应的是0~32000和6400~32000,楼上说的都是S7-1200里的模拟量转换吗?还没接触到S7-1200的菜鸟:1215C里面的模拟量输入是0-10V的,我想采集一个0-20Ma的信号,能否加一个500欧的电阻,这样把毫安信号变成电压信号了,这个是否可行呢?
关于上位机与PLC通讯问题
西门子工业业务领域 (0)菜鸟:PLC与上位机进行通讯,手册上写的是在读取输入扫描程序之后,那么我是否可以理解为V区(上位机改变V区信号)的值在PLC扫描后,上位机与PLC内部程序对V区的值的改变,上位机的优先级更高一些?大虾:上位机用的什么?wincc么侠士:后面的值会覆盖前面的值,V区会存储后一次的值。菜鸟:上位机用的是delphi,我不明白的是PLC的循环周期,对于V区的更新是什么时候进行的,*后以哪一次的更新为准?如果在一个周期内,PLC程序给V区赋值,而且上位机也给V区赋值,那在扫描周期结束后,V区会保留哪一个值?大虾:如果真是出现这种情况,只能说明你的程序设计的不合理。在通讯中断子程序里处理,则在子程序执行后,相应存储区被更新。斑竹:若电用户程序写的通讯程序,比如自由口方式,V的读写时刻由你的程序控制。若是系统的PPI方式通讯,通讯若有对存贮区的读写(包括V),不会发生在用户程序执行期间,而是在系统处理的某个时刻,具体可查手册。
关于用for循环指令给数据块赋值的问题
西门子工业业务领域 (0)菜鸟:请大家帮我分析一下,这个程序。要实现的想法是:I0.0不动作时,VD400=1,VD404=1,VD500=1,VD504=1,此时对应的Q点输出点亮;I0.0动作后,通过FOR循环把VD400-VD504数据块全部清零。下面是我写的程序,大家帮我看看,为什么FOR循环没有把数据块清零呢?谢谢!Network 1LD SM0.0MOVD &VB400, VD40Network 2 //初始值LD SM0.0MOVD 1, VD400AENOMOVD 1, VD404AENOMOVD 1, VD500AENOMOVD 1, VD504Network 3 //比较后,输出LD SM0.0LPSAD= VD400, 1= Q0.0LRDAD= VD404, 1= Q0.2LRDAD= VD500, 1= Q0.4LPPAD= VD504, 1= Q0.6Network 4 //FOR循环LD I0.0EUFOR VW10, +1, +108Network 5LD SM0.0MOVB 0, *VD40INCD VD40Network 6NEXT侠客:清零就用FILL至圣:我认为楼主的这个