坊儿 2024-05-14 22:42 采纳率: 0%
浏览 82

请问,用fx3u的y0发脉冲的时候为什么d8340监控不到,而d8140可以监控到。

我用gx works2软件进行编程时选用的是fx系列的plc,使用绝对定位DDRVA指令发脉冲给Y0,D8340寄存器监控不到,而d8140可以监控到,这是为什么。

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-14 22:42
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    您想要解决的问题

    您想要解决的问题是在使用GX Works2软件进行编程时,使用FX系列PLC的绝对定位指令DDRVA通过Y0输出脉冲,但无法在D8340寄存器中监控到脉冲信号,而D8140寄存器却可以监控到。

    问题出现原因

    1. 寄存器功能差异:D8140和D8340寄存器在FX系列PLC中有不同的用途。D8140通常用于监控特殊辅助继电器的状态,而D8340可能用于其他目的,比如存储数据或作为缓冲区使用。
    2. 指令使用不当:如果DDRVA指令的使用不正确,或者与Y0相关的设置有误,也可能导致无法在D8340中监控到脉冲。
    3. 软件设置问题:GX Works2软件的监控设置可能没有正确配置,导致无法在特定的寄存器中查看到脉冲信号。

    问题解决方案

    1. 检查指令使用:确保DDRVA指令正确使用,并且Y0的设置正确,用于脉冲输出。
    2. 检查寄存器功能:确认D8340寄存器是否支持监控脉冲信号。如果不支持,应选择正确的寄存器进行监控。
    3. 软件监控设置:检查GX Works2软件的监控设置,确保D8340寄存器被正确设置为可监控状态。

    提供代码

    由于您的问题主要是关于寄存器监控和PLC指令的使用,而不是代码本身,因此这里不提供具体的代码示例。但是,您可以参考以下步骤来检查和修改您的程序:

    1. 确认DDRVA指令的语法和参数设置是否正确。
    2. 确认Y0的配置是否允许其作为脉冲输出。
    3. 在GX Works2中,检查D8340寄存器是否被设置为可监控状态。
    

    代码运行方式

    1. 在GX Works2软件中编写或修改程序。
    2. 将程序下载到FX系列PLC中。
    3. 使用GX Works2的在线监控功能来观察D8340寄存器的状态。

    代码预期运行结果

    如果上述步骤正确执行,您应该能够在D8340寄存器中监控到Y0发出的脉冲信号。

    推荐相关链接

    请注意,上述链接可能需要根据您所在的地区进行调整,以确保访问的是正确的网站和资源。

    展开全部

    评论 编辑记录
  • 专家-皆知 2024-05-14 22:42
    关注

    检查D8340的设置或接线,确保它正确连接并监视Y0信号。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    评论
    专家-皆知 回复 坊儿 2024-05-14 22:42

    在三菱FX系列PLC中,D8340和D8140是两个不同的数据寄存器。根据您的描述,您可能在试图监控一个与绝对位置伺服驱动器(DDRVA)相关的状态信息,但D8340没有正确反映这个状态。这可能是由于几个原因造成的:

    1. 寄存器选择错误:确保您正在正确地读取寄存器。FX系列PLC有多个寄存器组,包括通用寄存器、特殊功能寄存器等。检查您的程序是否正确选择了D8340作为目标寄存器。

    2. 寄存器地址冲突:确认D8340不是被其他功能占用的寄存器。FX系列PLC某些寄存器可能具有特定用途,例如定时器、计数器或特殊功能。如果D8340用于其他目的,它可能不会显示DDRVA指令的状态。

    3. 位设置问题:D8340是一个字节寄存器,由8个二进制位组成(D8340.7至D8340.0)。如果 DDRVA 指令的状态存储在某个特定的位上,而不是整个寄存器,那么您需要通过正确的位操作来读取它。

    4. 编程错误:检查您的梯形图或结构文本编程,确保 DDRVA 指令的执行与 D8340 的读取之间没有任何逻辑错误或时间延迟问题。

    5. 通信问题:如果 DDRVA 指令用于控制外部设备(如伺服驱动器),则可能存在通信故障。确认您的 PLC 和伺服驱动器之间的连接以及通信参数设置是否正确。

    6. 伺服驱动器设置:联系伺服驱动器制造商,确认其输出信号是否正确配置,以便可以通过PLC读取。

    为了更具体地解决这个问题,我们需要查看您的完整梯形图或结构文本程序,以及相关硬件设置。如果您能提供这部分信息,我可以为您提供更具体的指导。如果无法提供代码,您可以尝试将问题简化为基本操作,并逐步排除可能的问题点。例如,试着用一个简单的常开触点连接到 Y0,然后监控 D8340 看是否能正常工作。如果这个简单测试失败,那么问题可能在于您的系统配置而非编程。如果成功,则问题可能出在 DDRVA 指令的使用上。

    对于代码示例,如果是在GX Works2中使用结构文本编程,一个简单的常开触点连接到 Y0 可能会像这样:

    VAR
        Output_Y0: BOOL := FALSE;
    END_VAR
    
    PROCESS
        IF (SomeCondition) THEN
            Output_Y0 := TRUE;  // 这里替换为触发条件
        END_IF;
    
        Y0 <= Output_Y0;
    END_PROCESS
    

    然后,监控 D8340 是否随 Y0 的变化而变化。如果需要进一步的帮助,请提供更多细节。

    回复
  • 百锦再@新空间 全栈领域优质创作者 2024-05-14 22:45
    关注

    - 当使用FX系列PLC时,绝对定位DDRVA指令是用来发送脉冲给指定的轴,例如Y0。- 如果D8340寄存器无法监控到脉冲信号,可能是由于设置或硬件连接问题导致的。- 另一方面,如果D8140可以监控到脉冲信号,可能是因为该寄存器能够正确接收DDRVA指令发送的信号。

    在这种情况下,您可能需要检查以下几个方面:

    1. 确保FX系列PLC的配置和参数设置正确,包括轴号和绝对定位DDRVA指令的相关参数设置。
    2. 检查Y0轴和D8340寄存器的连接是否正确,确保信号能够正常传输。
    3. 确保FX系列PLC的软件版本和硬件兼容性。
    4. 测试其他寄存器和轴是否可以正确监测到脉冲信号,以确定问题的具体原因。

    如果以上方面都检查正常,但仍然无法解决问题,建议您联系PLC厂家或技术支持,以获取更详细的帮助和支持。


    有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部