Recently active
Hello, I've been facing an issue for quite a long time. I have a GE VersaMax CPUE05 PLC connected to my PC by Ethernet. I configured it in KEPServerEX 6, the driver I used is GE Ethernet and it works great just like that. But the problem comes when i connect to the server in factory i/o.There is a big latency of about 2/3 seconds when it comes to tags update. I read the threads here about latency but none of them helped me. Scan mode and maximum bytes per request don't change the delay, it is still there. I have about 160 variables most of them which are boolean. The only thing i noticed is low amount of good reads (at least i think so) compared to writes. You can see the good reads after the first 10 seconds of simulation on the screen.The problem I also noticed is even if there were 3 variables in the project there was still a tiny lag when it comes to the variable update. Could this be the VersaMax Ethernet port? It is only 10Mb/s.
Hello Kepware CommunityI am currently tinkering with the KepServerEX capabilities and have come across some unusual behavior. My task is to connect the Kepware to an MQTT server, retrieve the payload, and parse it into SQL. Everything goes smoothly if I use Kepware's default logging, which has 4 fields: numeric_id, quality, time_stamp, and value.It is ok when use a Narrow table format setting, which I set it as follows.And it return this sql tableNow I have a custom table that need to be fillAnd my column(s) set up, they have the same column registerThe logger is up and running, no error log but it does not log anything to the table.Which setting that I need to change ? Many thanks in advance. Have a great day.Best regardsTran Duc Thinh
I have set up a simulator tag that receives its value from the link advance tag. The input of the link advance tag is the value from the ADAM READ-only Register address, and the output of the link advance tag is the simulator tag value. I have configured the link tag as the on interval mode, so that after every 100ms, link tag writes whatever the value is at the register address to the simulator tag. but the question is, even if the value is same after 100ms, is the update counter on the OPC client side should update its value or not ..?
I have a Prosoft PLX51-DF1-ENI card connected to a PLC5 via a DF1 serial cable. I need to get a Factorytalk SCADA and Kepware to communicate to the PLC. Kepware is required to allow comms to an old historian. When Kepware is disabled the Factroytalk SCADA can communicate to the PLC OK. But once Kepware is enabled the Factorytalk comms start to fail.. In Kepware I am using the Allen Bradley Ethernet Driver and the tags show good values. I have the tag scan rates set to 1000ms. It seems like to Kepware connection is overloading the DF1 comms. Is there anything I can try to get this to work
Warning OPC UA Client OPCUA_Hydraulic_Shop | Reconnecting server due to connection loss.
I am developing an application using OPC DA, but my client wants us to upgrade to OPC UA. The problem is that when the HMI reads the tag structure, it is different. With OPC DA my structure uses dots (.) to separate the path, and in OPC UA it uses backslashes (\) to separate the path. This has never happened to me before. Could you help me?
ThingWorx v10.1 is officially here, and it’s the perfect end to a massive year!!This release brings together AI Assistants, Model Context Protocol for agent to systems communication, Adv. MQTT/Sparkplug B support to simplify industrial data management, robust solutions, and more Reflecting on the year, our team delivered 80+ product releases and 1,000+ valuable improvements, impacting 7,000+ manufacturers worldwide. This milestone belongs to our incredible team, our vibrant community, and our partners. But what truly sets us apart is the deep AI expertise we’ve cultivated together. We’ve already moved past the 'experimental' phase by shipping real-world AI capabilities—and our roadmap for next year is even more ambitious. The bottom line: AI isn’t a threat to low-code; it’s a force multiplier. We aren't just keeping pace; we’re supercharging the platform, and we’re only just getting started. Have a safe and happy holiday, everyone! See you on the other side. P.S:&
IntroductionThingWorx 10.1 takes a major step toward intelligent interoperability by introducing the Model Context Protocol (MCP) in Public Preview. As industries accelerate their use of AI-assisted operations, MCP provides a standardized way for AI agents to securely connect with real-world industrial data and perform actions across systems. Our key goal is enabling agent-driven automation along with intelligent interoperability. MCP allows AI models and agents to interact with external systems such as ERP, MES, CRM, and analytics platforms in a structured and secure way. It removes the need for custom connectors and integrations, enabling developers to use a single, open standard to bridge AI and operational data. In essence, MCP allows AI to work natively with ThingWorx services and data models. ThingWorx and MCP Low-Code Enablement for Agentic AutomationThingWorx now embeds an MCP Server directly into the platform. This means that your existing ThingWorx services can be instantly m
Hi,How would you use an Emergency ID in a disaster recovery scenario? For example, let's say you lose access to the server where Kepware was installed but have backups of the project available and have re-installed it on another server... seeking clarification on how you would handle the Emergency ID and Activation ID in this scenario.Also, is the Emergency ID available for re-use an unlimited number of times so long as it is reset and the original Activation ID is still active?
Hi all, Many of you I think attended the What's new in TW10 webinar yesterday.The debugger in particular looked like something we have been asking for a long time, which is very good news.I have been trying TW10 since june but have not experienced any good usefulness with the debugger.Even though I placed several breakpoints in the code most of the time it does not break there. Is there a difference if you place them in JS functions or outside? Shouldn't be?The information shown in the Variable section is most of the time useless. It shows 'com.thingworx.types' for instance on InfoTables.80% of our mashups are showing grids of InfoTables. These tables are populated from parsing Windchill REST services JSON data, and this would be EXTREMELY useful so use the debugger for this.What am I missing? Anyone else found the debugger useful? If so, care to explain? BR,Roger
IntroductionWith ThingWorx 10.1, we're excited to announce MQTT support for IoT streams for data egress as Private Preview. This is a significant value add that allows ThingWorx to continue to be used as a DataOps layer for end-to-end industrial data management. With its ability to ingest data from disparate sources, contextualize and transform it, and send data in a custom-defined format over Kafka, and now MQTT, ThingWorx enables real-time consumption of data by end applications, allowing necessary interoperability without the worry of data lock-in. Especially in the age of AI, customers can use ThingWorx not only to ingest data from connected machines, systems, and people but also to push processed, contextualized, AI-ready data outward. This enables external systems, data lakes, cloud systems, or UNS layers to consume the data in real time, making IT/OT convergence seamless. With this capability, having a Sparkplug B connector built in, users can use ThingWorx to directly load cont
Hi Community,I’m using ThingWorx 10.0.0 and working with high-frequency properties named property1 and property2 that update very often.If these are marked as Logged = TRUE, they generate a large amount of history data and can impact system performance.Proposed ApproachBefore I implement anything, this is the strategy I’m considering to log values only every X minutes:1. Keep original properties unlogged (Logged = FALSE).2. Create separate periodic properties (Logged = TRUE, DataChange = ALWAYS).3. Use a Timer to write values to these periodic properties every X minutes:me.property1_periodic = me.property1; me.property2 = me.property2;This would store history only at fixed intervals instead of every update.Looking for SuggestionsIs this a good approach?Are there any built-in features or alternative strategies for periodic logging that I should consider before implementing this?I’d appreciate any recommendations or best practices from the community.
When I upload a file, it shows the file below with an "x" to remove the file as well. However, I need to remove this "x" because there is no bindable event to removing an item. Instead, I have a button to clear the items which then triggers some other services. How do I remove the "x" button from this widget as shown below? Thingworx 9.6
I am trying to create a custom tooltip for the line chart. I have the custom tooltip working except my dynamic data are returning as N/A in the tooltip. My datashape for the chart data are as follows:xaxis: stringyaxis: numberlineLabel: string My custom localization token value is as follows:${label} #newline# ${Data:lineLabel}: ${value} How do I get the lineLabel value to show here ${Data:lineLabel}? I am using the syntax provided by PTC docs link here...https://support.ptc.com/help/thingworx/platform/r9.6/en/index.html#page/ThingWorx/Help/Mashup_Builder/Widgets/CreatingCustomChartTooltips.html
Hello Community, I am trying to find a way to monitor or check the amount of triggers the DB thing is creating and whether that is contributing to the performance of the ThingWorx due to load getting created on the SQL server from where I am getting data.I am aware of the C3P0 thread count which can be used to monitor the DB connections, but that is specific to the default persistence provider. I am fetching data from multiple DBs using MS SQL DB Thing connectors.I want to know if there is any way we can monitor the queue size and active connections.So, in the DB Thing Configuration tab, the JDBC connection settings has an option of Maximum Number of Connections which is set to 5 and there's also an option to enable monitoring. But I am trying to understand how I can do the monitoring even if it is enabled.Also, how to monitor the active connections out of the maximum 5 and the requests or the queue size to the DB thing at a regular interval. Please refer to the below referen
IntroductionThe JavaScript Debugger, first introduced in ThingWorx 10.0, is now generally available with the 10.1 release. This feature is now production-ready and provides a fully integrated debugging experience within the ThingWorx platform. It allows developers to build, test, and troubleshoot logic directly in Composer with greater efficiency and control. The debugger is built into ThingWorx Composer, enabling developers to step through code, set breakpoints, and view live variable data within the same environment. This integrated approach simplifies development workflows and improves both code quality and delivery speed. Bringing Real-Time Debugging to the PlatformThe feature is powered by a dedicated Debugging Subsystem that manages sessions, breakpoints, and state inspection in a structured way. Developers can initiate and control debugging sessions directly, while the platform automatically handles performance and stability through session timeouts and resource management. If a
Hello, We have a PC which is running KEPServer EX6, but having issues connecting to the OPC server date.Errors I'm getting are as follows:Date Time Level Source Event11/12/2025 16:52:55 Error KEPServerEX\Runtime Attempt to add item 'Channel3.BottleMC3.Global.SCADA_CurrentHalfHour' failed.
Dear Members, I am new to KEPServerEX 6 and request expert guidance to configure Modbus RTU (RS-232) data in KEPServer, which I have been unable to achieve so far. Current Challenge At present, to bring RS-232 data into Modbus TCP/IP, I am using a protocol converter. However, this setup works only after running a Python script on the historian server that continuously sends ASCII commands (video attached) to read serial data and then pushes it back to the historian. Only then does the converter provide usable values for our Digital Data Visualization. Pain Points This approach is becoming unsustainable due to the following reasons: The Python script must run 24×7 Any script failure results in complete data loss Maintenance and troubleshooting are time-consuming The solution is not reliable for long-term plant operations What I Am Looking For I want to directly configure the RS-232 / Modbus RTU device in KEPServerEX and expose the data as Modbus TCP/IP (or directly to the hist
Hello,I am experiencing an issue when browsing/importing OPC UA server tags into Kepware. Several tags that are present on the OPC UA server do not appear in Kepware after the browse/import process.Details:The missing tags are not visible in the Kepware browse tree, so I cannot import/add them to my datalogger.I have verified the tags exist and are accessible from the OPC UA server side.I also confirmed using UAExpert that the missing tags are readable, and their data type is Float (so they do not appear to be unsupported types).Could you please advise what could cause Kepware to omit certain OPC UA nodes during browsing/import, and which Kepware settings or troubleshooting steps I should review to ensure all tags are discovered and available for import?Thank you. However, when running Tag Generation, it gives warning message of data type unknownWhen try to import, the tags are shown in imported itemsOPC-UA Server has tags under folder AHU/01 such as RA_RH, RA_T, SA_RH, etc.The fi
Is there any possible way to update the "isConnected" Property (in the "Connectable" Thing Shape) from within ThingWorx? This property/TS is part of the "RemoteThing" Template and is great for visualizing if a Thing is connected, like in Composer -> Monitoring -> Remote Things. I'd like to extend this capability to API connections we make in ThingWorx that do not have a native ThingWorx connection or remote agent. Essentially I have defined a "connector" Thing in ThingWorx that makes REST calls on an API via scheduler/timer; I want to utilize the "isConnected" property as an indicator of whether the API connection is "healthy." If an API call is successful, "isConnected" would be set to 'true'; if an API call fails or has a particular error code, "isConnected" would be set to 'false.' Is it possible to define this logic within ThingWorx, or must it be done via SDK, or some other method?
In the data logger feature, by default "Name" column is being considered as "Item ID" making difficult in database. How can i change this to "Log item Name" instead of default "Item ID"
Hi everyone,I’m sending MQTT data from Kepware IoT Gateway to ThingsBoard. Everything works fine when I publish around 250 tags in a single JSON payload. But when I increase it to 500 tags, the MQTT client in Kepware starts connecting and disconnecting repeatedly, and the message never publishes.I’m trying to figure out whether this limitation is coming from:Kepware IoT Gateway’s MQTT Client Agent, orThingsBoard’s MQTT broker / MQTT transport,or simply an MQTT payload size limit on either side.What I’m seeing:~250 tags → OK~500 tags → Kepware repeatedly connects/disconnectsNo clear error in Kepware UIThingsBoard logs show only connect/disconnectBehavior suggests a payload or packet size limitMy questions:Does ThingsBoard MQTT have a max payload or packet size limit?Does Kepware IoT Gateway restrict MQTT message size?Is this connect/disconnect loop typical when the payload is too large?Is splitting tags into smaller groups the recommended approach?Any insight from users who have handled
Hi everyone, I’m working on a use case where our SAP team wants to send data to ThingWorx via an HTTP API call. They will post the data as XML, and ThingWorx should receive it in a service, parse it, and store the information in a DataTable or Dataset. However, I’m not sure how to receive the XML payload properly inside a ThingWorx service. When SAP calls my service endpoint, I don’t see any way to directly access the raw XML content — it’s either not recognized or comes as an empty input parameter. What’s the correct approach to handle this in ThingWorx? Specifically: How can I receive XML from an external system in a ThingWorx service? Do I need to configure a specific Content-Type header (like application/xml)? If anyone has done SAP → ThingWorx integration with XML payloads, I’d really appreciate an example or best-practice recommendation. Thanks in advance!
Is there any updates on when the License Transfer functionality will be fixed on my.kepware.com? We're currently unable to Transfer Licenses due to the error and all the Support Engineer can do is tell me to reach out to sales@kepware.com ?
I need to set up an external REST client to read AuditLog and EventLog over API hopefylly anonymouslyIs it possible?
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.